1. 程式人生 > >LeetCode_160. 相交連結串列

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;
    }
}