一,问题描述:
输入两个链表,找出它们的第一个公共结点。
二,代码及分析:
代码:
实现过程分析:
我们分别用指针up和down来指向两个链表
如果他们都不是空,就让他们遍历整个链表,直到有一方为空,跳出循环
如果是up先到None,就说明pHead1短于pHead2.那他们差多少呢?
我们让down继续往下跳,直到跳到None。并用k来记录他跳了几步,这样,我们就得到了两个链表的长度差k。
接着,我们把up和down放回原点,并让down往前先走k步
然后让他两同时往前跳,直到他两相遇,然后返回随便哪一个的值,即为所求
如果是down先到None,说明pHead2比较短,则up往前先走k步,然后两人一起跳。过程略