力扣160题 相交链表
var getIntersectionNode = function(headA, headB) { if (headA === null || headB === null) { // 任一链表为空即不可相交 return null; } let pA = headA, pB = headB; while (pA !== pB) { // 依次访问两个链表,当任一链表为空时将 pA = pA === null ? headB : pA.next; pB = pB === null ? headA : pB.next; } return pA;};
反转链表
// 反转链表function reverse(head) { if (head.next === null || head === null) { return; //没节点或者单节点不用反转 } let currNode = head; let pre = null; // 储存首节点 while (currNode !== null) { const temp = currNode.next; //将currNode的下个节点保存 currNode.next = pre; //将currNode的下个节点指向新链表的首节点,此时currNode就是链表的首节点 pre = currNode; //将首节点记录下来 currNode = temp; //将currNode后移 } return pre }