其他分享
首页 > 其他分享> > 160. 相交链表

160. 相交链表

作者:互联网

package leetcode;

public class demo_160 {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode nodeA=headA;
        ListNode nodeB=headB;
        
        //A链表跑到到表尾时,会接着B链表
        //B链表跑到到表尾时,会接着A链表
        //此时两个链表长度是一样的,如果有重合地方,则结束运行
        while(nodeA!=nodeB) {
            
            //如果A链表和B链表都跑完,都没出现重合地方,则说明不存在重合
            if(nodeA==null&&nodeB==null) {
                break;
            }
            //A链表跑到到表尾时,会接着B链表
            if(nodeA==null) {
                nodeA=headB;
            }
            else {
                nodeA=nodeA.next;
            }
            //B链表跑到到表尾时,会接着A链表
            if(nodeB==null) {
                nodeB=headA;
            }
            else {
                nodeB=nodeB.next;
            }
        }
        if(nodeA==null) {
            return  null;
        }
        else return nodeA;
    }
}

 

标签:ListNode,表尾时,nodeA,nodeB,相交,链表,null,160
来源: https://www.cnblogs.com/Yshun/p/15965887.html