题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
http://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46
//相交链表的题目
//思路: 两个链表的总和是固定的,形成一个环后,如果有相交 就会相遇。
//所以在自己的链表走完后 跳到对方的链表上去。
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if(pHead1 ==null || pHead2 ==null) return null; ListNode p1 = pHead1, p2 = pHead2; //申明指针 while(p1 != p2){ p1 = (p1 == null)? pHead2 : p1.next; //如果到了最后节点就跳到对方的头节点,否则就下个节点继续 p2 = (p2 == null)? pHead1 : p2.next; } return p1; } }