题解 | 两个链表的第一个公共结点

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

https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46

import java.util.*;
/*
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 a = pHead1;
    ListNode b = pHead2;
    if(a == null || b == null) return null;
    while(a!=b){
        a = (a==null)?pHead1:a.next;
        b = (b==null)?pHead2:b.next;
    }
    return a;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务