LeetCode_160. 相交链表

如果两个链表根本没有相交,返回NULL。
public class S_160 {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        // 都是空
        if (headA == null || headB == null)
            return null;

        ListNode node1 = headA;
        ListNode node2 = headB;
        boolean flag1 = false, flag2 = false;
        // 列表还有数就继续往下一位循环
        while (node1 != null && node2 != null){
            if (node1 == node2)     return node1;
            node1 = node1.next;
            node2 = node2.next;
            if (node1 == null)
                if (!flag1){
                    node1 = headB;
                    // 翻转
                    flag1 = true;
                }
            if (node2 == null)
                if (!flag2){
                    node2 = headA;
                    flag2 = true;
                }
        }

        return null;
    }
}

猜你喜欢

转载自blog.csdn.net/king1994wzl/article/details/82877176