剑指 Offer 第52题:两个链表的第一个公共节点

2022-08-08  本文已影响0人  放开那个BUG

1、前言

题目描述

2、思路

如果链表有公共节点,那么他们走完自己的路后,走对方的路,最终就能相遇。

3、代码

class Solution {
    ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        if(headA == null || headB == null){
            return null;
        }

        ListNode p = headA, q = headB;
        while(p != null || q != null){
            if(p == q) return p;
            p = p == null ? headB : p.next;
            q = q == null ? headA : q.next;
        }

        return null;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读