2021/2/16 剑指 Offer 52. 两个链表的第一个公共节点

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

http://www.nowcoder.com/questionTerminal/6ab1d9a29e88450685099d45c9e31e46

题目描述

输入两个链表,找出它们的第一个公共节点。
如下面的两个链表:
图片说明
在节点 c1 开始相交。

解题思路

两个链表互相加上对方的长度,使它们的长度一致,用两个指针去分别检查两个链表,最终会找到公共节点。

Java代码实现

public class Solution {
    public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
        if (pHead1 == null || pHead2 == null) return null; 
        ListNode ptr1 = pHead1;
        ListNode ptr2 = pHead2;
        while (ptr1 != ptr2) {
            ptr1 = ptr1 != null ? ptr1.next : pHead2;
            ptr2 = ptr2 != null ? ptr2.next : pHead1;
        }
        return ptr1;
    }
}
全部评论

相关推荐

牛客90772103...:格林美(无锡)
点赞 评论 收藏
分享
05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
简历中的项目经历要怎么写
点赞 评论 收藏
分享
07-04 16:00
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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