leetcode160.相交链表
leetcode160.相交链表
题目
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。
用例
求解
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} headA
* @param {ListNode} headB
* @return {ListNode}
*/
var getIntersectionNode = function(headA, headB) {
let p1 = headA
let p2 = headB
let flag = 2
while(p1!=p2&&flag>=0){
if(p1==null){
p1=headB
flag--
}else{
p1=p1.next
}
if(p2==null){
p2=headA
flag--
}else{
p2=p2.next
}
}
if(flag==-1){
return null
}
return p1
// let p1 = headA
// let p2 = headB
// let differ_length = 0
// let long_List = 0
// while(p1!=null&&p2!=null){
// p1=p1.next
// p2=p2.next
// }
// if(p1!=null){
// long_List=1
// while(p1!=null){
// differ_length++
// p1=p1.next
// }
// }
// if(p2!=null){
// long_List=2
// while(p2!=null){
// differ_length++
// p2=p2.next
// }
// }
// p1 = headA
// p2 = headB
// if(long_List==1){
// while(differ_length>0){
// differ_length--
// p1=p1.next
// }
// }
// if(long_List==2){
// while(differ_length>0){
// differ_length--
// p2=p2.next
// }
// }
// while(p1!=p2&&p1!=null&&p2!=null){
// p1=p1.next
// p2=p2.next
// }
// if(p1==p2&&p1!=null&&p2!=null){
// return p1
// }else{
// return null
// }
};

浙公网安备 33010602011771号