본문 바로가기
728x90
반응형

Leetcode43

237. Delete Node in a Linked List 주어진 노드를 연결 리스트에서 제거하는 문제입니다.이 문제는 연결 리스트의 헤드에 대한 접근 권한이 없으며, 대신 제거할 노드에 대한 접근 권한만 주어집니다.모든 연결 리스트의 값은 고유하며, 주어진 노드는 연결 리스트의 마지막 노드가 아님이 보장됩니다. 예를 들어: 예제 1: 입력으로 head = [4,5,1,9], node = 5가 주어지면, 출력은 [4,1,9]가 됩니다. 여기서 두 번째 노드인 값이 5인 노드가 제거되어야 합니다.예제 2: 입력으로 head = [4,5,1,9], node = 1이 주어지면, 출력은 [4,5,9]가 됩니다. 여기서 세 번째 노드인 값이 1인 노드가 제거되어야 합니다.제약 조건은 다음과 같습니다: 주어진 리스트의 노드 수는 범위 [2, 1000] 내에 있습니다. -1.. 2024. 5. 1.
203. Remove Linked List Elements 연결 리스트의 노드를 제거하는 문제입니다. 이 문제는 주어진 연결 리스트의 헤드와 정수 val이 주어지며, Node.val == val인 모든 노드를 연결 리스트에서 제거하고 새로운 헤드를 반환해야 합니다. 예를 들어: 예제 1: 입력으로 head = [1,2,6,3,4,5,6], val = 6이 주어지면, 출력은 [1,2,3,4,5]가 됩니다. 예제 2: 입력으로 head = [], val = 1이 주어지면, 출력은 []가 됩니다. 예제 3: 입력으로 head = [7,7,7,7], val = 7이 주어지면, 출력은 []가 됩니다. 제약 조건은 다음과 같습니다1: 리스트의 노드 수는 범위 [0, 10^4] 내에 있습니다. 1 0  /** * Definition for singly-linked list... 2024. 5. 1.
20. Valid Parentheses 주어진 문자열에서 괄호가 올바르게 짝지어져 있는지 확인하는 문제입니다. 열린 괄호는 같은 종류의 닫힌 괄호로 닫혀야 합니다. 괄호는 올바른 순서로 닫혀야 합니다.public class Solution { public bool IsValid(string s) { Stack stack = new Stack(); foreach(char c in s){ if(c =='(' || c == '{' || c == '['){ stack.Push(c); } else{ if(stack.Count() == 0) return false; char top = .. 2024. 4. 29.
21. Merge Two Sorted Lists 주어진 두 개의 정렬된 연결 리스트를 하나의 정렬된 리스트로 병합하는 문제입니다. 첫 번째 두 리스트의 노드를 이어 붙여서 새로운 정렬된 연결 리스트를 만들어야 합니다. 병합된 연결 리스트의 헤드 노드를 반환해야 합니다. /** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int val=0, ListNode next=null) { * this.val = val; * this.next = next; * } * } */ public class Solution { public ListNode MergeTwoLists(ListNode li.. 2024. 4. 23.
112. Path Sum 주어진 이진 트리에서 루트부터 리프까지의 경로 중 합이 특정 값과 같은 경로가 있는지 확인하는 문제입니다. 간단히 말하면, 주어진 트리에서 어떤 경로를 따라 이동하면서 노드의 값을 더했을 때, 그 합이 주어진 값과 같은지를 확인하는 것입니다. /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) { * this.val = val; * this.left = left; * this.right = rig.. 2024. 4. 23.
222. Count Complete Tree Nodes 이진 트리에서 노드의 수를 세는 문제입니다. 이 문제에서는 완전 이진 트리의 루트가 주어지고, 트리에 있는 노드의 수를 반환해야 합니다. 완전 이진 트리는 모든 레벨이 완전히 채워져 있고, 마지막 레벨의 모든 노드는 가능한 한 왼쪽에 있습니다. 마지막 레벨 h에서 노드의 수는 1과 2h 사이입니다. 이 문제를 해결하기 위한 알고리즘은 O(n)보다 작은 시간 복잡도를 가져야 합니다. 예시: 예시 1: 입력: root = [1,2,3,4,5,6], 출력: 6 예시 2: 입력: root = [], 출력: 0 예시 3: 입력: root = 1, 출력: 1 제약 조건: 트리의 노드 수는 범위 [0, 5 * 10^4] 내에 있습니다. 0 /** * Definition for a binary tree node. * .. 2024. 4. 22.
530. Minimum Absolute Difference in BST 이진 탐색 트리(Binary Search Tree, BST)의 루트 노드가 주어졌을 때, 트리 내의 어떤 두 다른 노드 값 사이의 최소 절대 차이를 반환하는 문제입니다. 예제: 예제 1: 입력으로 root = [4,2,6,1,3]이 주어지면, 출력은 1입니다. 예제 2: 입력으로 root = [1,0,48,null,null,12,49]이 주어지면, 출력은 1입니다. 제약 조건: 트리의 노드 수는 범위 [2, 10^4] 내에 있습니다. 0 오른쪽 자식 노드 순서로 노드를 방문합니다. 이 방법을 사용하면 이진 탐색 트리의 노드들이 오름차순으로 방문되므로, 각 노드와 이전 노드의 차이를 계산하여 최소 절대 차이를 찾습니다. 이진 탐색 트리 root = [4,2,6,1,3]에 대해 중위 순회를 실행하면 다음과 .. 2024. 4. 21.
728x90
반응형