본문 바로가기
728x90
반응형

LinkedList10

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.
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.
rearrangeLastN 단일 연결 리스트에서 마지막 n개의 노드를 리스트의 시작 부분으로 이동 주어진 단일 연결 리스트에서 마지막 n개의 노드를 리스트의 시작 부분으로 이동시켜야 합니다. 예를 들어: 입력 리스트가 [1, 2, 3, 4, 5]이고 n이 3이면, 결과는 [3, 4, 5, 1, 2]가 되어야 합니다. 입력 리스트가 [1, 2, 3, 4, 5, 6, 7]이고 n이 1이면, 결과는 [7, 1, 2, 3, 4, 5, 6]이 되어야 합니다. // Singly-linked lists are already defined with this interface: // class ListNode { // public T value { get; set; } // public ListNode next { get; set; } // } .. 2024. 3. 20.
reverseNodesInKGroups 주어진 연결 리스트 l의 노드들을 크기 k씩 뒤집고 수정된 리스트를 반환해야 합니다. k는 양수이며, l의 길이보다 작거나 같아야 합니다. 만약 연결 리스트의 노드 수가 k의 배수가 아니라면, 뒤에 남은 노드는 그대로 유지되어야 합니다. 노드의 값은 변경할 수 없으며, 노드 자체만 변경할 수 있습니다. 예시: 예시 1: l = [1, 2, 3, 4, 5]이고 k = 2인 경우, 출력은 [2, 1, 4, 3, 5]가 되어야 합니다. 예시 2: l = [1, 2, 3, 4, 5]이고 k = 1인 경우, 출력은 [1, 2, 3, 4, 5]가 되어야 합니다. 예시 3: l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]이고 k = 3인 경우, 출력은 [3, 2, 1, 6, 5, 4, 9, 8.. 2024. 3. 15.
mergeTwoLinkedLists 두 개의 오름차순으로 정렬된 단일 연결 리스트가 주어졌을 때, 이 두 리스트를 병합하는 것입니다. 병합된 리스트도 오름차순으로 정렬되어야 합니다. 즉, 첫 번째 두 리스트의 노드를 연결하여 새로운 단일 연결 리스트를 만들어야 합니다. 이 문제를 풀기 위해서는 O(l1.length + l2.length) 시간 복잡도를 가져야 합니다. 이것이 면접에서 요구되는 작업입니다. 예를 들어, 다음과 같은 두 개의 연결 리스트가 주어졌다고 가정해 봅시다: 리스트 1: 1 -> 3 -> 5 리스트 2: 2 -> 4 -> 6 이 두 리스트를 병합하면 다음과 같은 결과가 나와야 합니다: 병합된 리스트: 1 -> 2 -> 3 -> 4 -> 5 -> 6 이 문제를 풀기 위해서는 두 리스트를 순회하면서 노드를 비교하고 새로운 .. 2024. 3. 14.
addTwoHugeNumbers 두 개의 큰 정수가 링크드 리스트로 주어졌습니다. 각 링크드 리스트 요소는 0부터 9999까지의 숫자로, 정확히 4자리 숫자를 나타냅니다. 나타낸 숫자에는 선행 0이 있을 수 있습니다. 이 두 큰 정수를 더하고 결과를 동일한 형식으로 반환하는 것이 문제입니다. 예시: a = [9876, 5432, 1999]이고 b = [1, 8001]인 경우, 결과는 [9876, 5434, 0]이 됩니다. 설명: 987654321999 + 18001 = 987654340000. a = [123, 4, 5]이고 b = [100, 100, 100]인 경우, 결과는 [223, 104, 105]가 됩니다. 설명: 12300040005 + 10001000100 = 22301040105. // Singly-linked lists .. 2024. 3. 11.
728x90
반응형