[Linked List] Intersection of Two Linked Lists
2021. 2. 9. 23:05ㆍ프로그래밍-코딩테스트/LeetCode
Write a program to find the node at which the intersection of two singly linked lists begins.
For example, the following two linked lists:
연결된 두개의 Linked List에서 Intersection 노드를 찾는 문제이다
이러한 경우 two pointer를 응용하면 된다
예를들어 input : listA = [0,9,1,2,4], listB = [3,2,4]라면
listA: 0 -> 9 -> 1
listB: 3 -> 2 -> 4
순서로 순회할것이다
여기부터 listB.next는 none이 된다. 이 경우 다시 얘를 listA의 첫번째 head node로 이어주자
listA: 0 -> 9 -> 1 -> 2 -> 4
listB: 3 -> 2 -> 4 -> 0 -> 9
이제 listA.next가 None이 된다. 역시 listB head를 바라보게 한다.
listA: 0 -> 9 -> 1 -> 2 -> 4 -> 3 -> 2
listB: 3 -> 2 -> 4 -> 0 -> 9 -> 1 -> 2
여기서 intersection Node가 걸리게 된다.
'프로그래밍-코딩테스트 > LeetCode' 카테고리의 다른 글
[Tree] Symmetric Tree (0) | 2021.02.09 |
---|---|
[Stack] Min Stack (0) | 2021.02.09 |
[Linked List] Linked List Cycle (0) | 2021.02.09 |
[Linked List] Palindrome Linked List (0) | 2021.02.09 |
[Stack] Valid Parentheses (0) | 2021.02.09 |