美文网首页
链表(二)——链表相交点

链表(二)——链表相交点

作者: 旺叔叔 | 来源:发表于2018-09-24 21:10 被阅读0次

    LeetCode_160_IntersectionofTwoLinkedLists

    题目分析:

    求交点,不可以利用上题方法,先翻转两个链表,然后遍历直到分叉,因为链表无法指向两个子节点。
    巧妙的方式,将a,b两链表首尾相连并遍历,则一定会在交点处相遇。
    

    解法:

    public static ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        if (headA == null || headB == null) return null;
        ListNode a = headA, b = headB;
        while (a != b) {
            a = (a != null) ? a.next : headB;
            b = (b != null) ? b.next : headA;
        }
        return a;
    }

    相关文章

      网友评论

          本文标题:链表(二)——链表相交点

          本文链接:https://www.haomeiwen.com/subject/acphoftx.html