Intersection of Two Linked Lists
2018-02-14 20:06
323 查看
PROBLEM:Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:A: a1 → a2
↘
c1 → c2 → c3
↗
B: b1 → b2 → b3
begin to intersect at node c1.SOLVE:C++:
↘
c1 → c2 → c3
↗
B: b1 → b2 → b3
begin to intersect at node c1.SOLVE:C++:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { ListNode *p1 = headA; ListNode *p2 = headB; if (p1 == NULL || p2 == NULL) return NULL; while (p1 != p2) { p1 = (p1 == NULL? headB : p1->next); p2 = (p2 == NULL? headA : p2->next); }
return p1; }Python:
class Solution: def getIntersectionNode(self, headA, headB): if headA is None or headB is None: return None pa = headA pb = headB while pa is not pb: pa = headB if pa is None else pa.next pb = headA if pb is None else pb.next return pa解释:每一个指针都把两个链表跑一遍,最后结果要么都是指向NULL要么相同。
相关文章推荐
- LeetCode—Intersection of Two Linked Lists 找两个链表的相交位置,让长的链表先走一段
- Intersection of Two Linked Lists-python
- Intersection of Two Linked Lists
- [leetCode] Intersection of Two Linked Lists
- [置顶] LeetCode--Intersection of Two Linked Lists (两个链表的交点)Python
- LeetCode 160 Intersection of Two Linked Lists(链表相交)(*)
- LEETCODE-Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- [leetcode]Intersection of Two Linked Lists
- Leetcode: Intersection of Two Linked Lists
- LeetCode-Intersection of Two Linked Lists
- LeetCode (160) Intersection of Two Linked Lists
- LeetCode(160) Intersection of Two Linked Lists
- LeetCode 160 Intersection of Two Linked Lists
- [LeedCode OJ]#160 Intersection of Two Linked Lists
- Leetcode-Intersection of Two Linked Lists
- leetcode[160]:Intersection of Two Linked Lists
- 【LeetCode】160 - Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- LeetCode 160 Intersection of Two Linked Lists