jz11.两个链表的第一个公共结点

220 阅读1分钟

输入两个链表,找出它们的第一个公共结点。

/*
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;
        ListNode p2 = pHead2;
        while(p1 != p2){
            //错在,next和等于null的时候赋值给另外一个链表的头链表这两个只能走一个
           p1 = (p1==null)?pHead2:p1.next;
           p2 = (p2==null)?pHead1:p2.next;
        }
    
    //这个地方不用再判断p1是不是null返回,反正就算没有,p1就已经是null
        return p1;
        
    }
}