/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
ListNode cur1 = pHead1;
ListNode cur2 = pHead2;
if(pHead1==null||pHead2==null){
return null;
}
//链表并不相同长度所以不能一起遍历
//两种做法,1遍历一遍统计长度,2。双
//指针链接fa,链接之后两个指针一定会相遇如果有公共节点
//也有可能cur1小于粗人的长度
while(cur1!=cur2){
cur1 = cur1 == null ? pHead2 : cur1.next;
cur2 = cur2 == null ? pHead1 : cur2.next;
}
return cur1;
}
}



京公网安备 11010502036488号