解题思路
- 判断当前节点是否为相交节点,直接判断当前两节点是否全等。
- 我们可以遍历链表,然后将节点存储于数组之中,然后通过比较数组尾部的节点是否相同,如果相同则再比较上一个节点。如果不相同则说明,当前节点后一个节点则是相交的节点
/**
* 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) {
const arr1 = [],
arr2 = [];
while(headA || headB){
if(headA){
arr1.push(headA);
headA = headA.next;
}
if(headB){
arr2.push(headB);
headB = headB.next;
}
}
let flag = null;
while(arr1.length && arr2.length){
const h1 = arr1.pop(),
h2 = arr2.pop();
if(h1 === h2){
flag = h1;
}else{
if(flag){
return flag;
}
}
}
return flag;
};