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

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

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) {
     //由 123 +67 +45 = 45 +67+123
     //两条链表的总长度-去公共长度是一样的
     //所以两个一起走,走完自己的路然后走别人的路,由于总路程是一样的,所以最后肯定会在节点相遇。
     ListNode cur1 = pHead1,cur2 = pHead2;
     while(cur1!=cur2){
        cur1 = cur1 != null ? cur1.next : pHead2;
        cur2 = cur2 != null ? cur2.next : pHead1;
     }
     return cur1;
    }
}

全部评论

相关推荐

02-26 13:56
已编辑
重庆财经学院 Java
King987:你有实习经历,但是写的也太简单了,这肯定是不行的,你主要要包装实习经历这一块,看我的作品,你自己包装一下吧,或者发我,我给你出一期作品
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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