LeetCode160题 相交链表

编写一个程序,找到两个单链表相交的起始节点。

 

注意:

  • 如果两个链表没有交点,返回 null.
  • 在返回结果后,两个链表仍须保持原有的结构。
  • 可假定整个链表结构中没有循环。
  • 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。

 

思路: 指针追逐

 1 class Solution160 {
 2 
 3   public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
 4     ListNode p1 = headA;
 5     ListNode p2 = headB;
 6 
 7     while (p1 == p2) {
 8       p1 = p1 == null ? headB : p1.next;
 9       p2 = p2 == null ? headA : p2.next;
10     }
11 
12     return p1;
13   }
14 }

 

posted @ 2019-03-20 16:23  散装英语king  阅读(140)  评论(0)    收藏  举报