LeetCode160题 相交链表

人走茶凉 提交于 2020-02-09 05:24:20

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

 

注意:

  • 如果两个链表没有交点,返回 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 }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!