两个链表的第一个公共节点 Posted on 2019-08-03 | In 剑指offer | | reads times 两个链表的第一个公共节点题目描述 输入两个链表,找出它们的第一个公共结点。 从共同节点看,两者最好一起跑,所以需要长链表的指针先跑到和短链表相同长度的地方。 123456789101112131415161718192021222324252627282930313233343536function FindFirstCommonNode(pHead1, pHead2){ // write code here let len1=getLen(pHead1); let len2=getLen(pHead2); let len,pLong,pShort; if(len1>len2){ len=len1-len2; pLong=pHead1; pShort=pHead2; }else{ len=len2-len1; pLong=pHead2; pShort=pHead1; } while(len--){ pLong=pLong.next } while(pLong!==null){ if(pLong.val==pShort.val){ return pLong; } pLong=pLong.next; pShort=pShort.next; } return null;}function getLen(pHead){ let length=0; while(pHead!==null){ pHead=pHead.next; length++; } return length;} Post author: GoldMiner Xun Post link: https://goldminerxun.github.io/2019/08/03/%E5%89%91%E6%8C%87offer%20JavaScript%E7%89%88%20(36)/ Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.