본문 바로가기
728x90
반응형

LinkedList10

removeKFromList 주어진 연결 리스트에서 값이 k인 노드를 모두 제거하는 문제입니다. 이 문제를 해결하기 위해서는 연결 리스트를 순회하면서 값이 k인 노드를 발견하면 해당 노드를 제거해야 합니다. // Singly-linked lists are already defined with this interface: // class ListNode { // public T value { get; set; } // public ListNode next { get; set; } // } // ListNode solution(ListNode l, int k) { if(l == null){ return null; } ListNode current = l; while(current != null && current.value == k){.. 2024. 3. 8.
160. Intersection of Two Linked Lists 두 개의 연결 리스트가 주어졌을 때, 두 리스트가 교차하는 지점을 찾는 문제입니다. 교차 지점이 없으면 null을 반환해야 합니다. List A: A1 → A2 ↘ C1 → C2 → C3 ↗ List B:B1 → B2 → B3 이 경우, 리스트 A와 리스트 B는 C1에서 교차하고, 이 지점이 교차 지점이 됩니다. 두 연결 리스트의 길이를 각각 계산합니다. 두 리스트의 길이 차이를 구하고, 길이가 더 긴 리스트의 포인터를 그 차이만큼 이동시킵니다. 이제 두 포인터를 동시에 이동시켜 교차 지점을 찾습니다. public class ListNode { public int val; public ListNode next; public ListNode(int val = 0, ListNode next = null) {.. 2023. 11. 15.
19. Remove Nth Node From End of List 주어진 연결 리스트에서 뒤에서부터 n 번째 노드를 제거하는 것입니다. 아래는 문제의 자세한 설명입니다: 문제 설명: 주어진 연결 리스트에서 뒤에서부터 n 번째 노드를 제거하고, 수정된 연결 리스트의 헤드를 반환하는 함수를 구현하세요. Input: 1->2->3->4->5, n = 2 Output: 1->2->3->5 설명: 위 예시에서, 주어진 연결 리스트는 1->2->3->4->5입니다. 이 리스트에서 뒤에서부터 2번째 노드를 제거하면 결과로 1->2->3->5가 나와야 합니다. 노트: n은 항상 유효한 값으로 주어집니다. 연결 리스트를 한 번만 순회하여 문제를 해결하세요. 이 문제는 뒤에서부터 n 번째 노드를 찾는데 빠른 포인터와 느린 포인터 기법을 사용하면 효과적으로 해결할 수 있습니다. 주어진 연.. 2023. 10. 24.
728x90
반응형