1 | 输入两个链表,找出它们的第一个公共节点。 |
先分别统计链表的长度,等长的那个先走Math.abs(len1-len2)步再同时走,如果两个链表有交点一定会在交点相遇。
1 | /** |
先让一个指针PA走A,一个指针PB走B,两个节点同时走,A走到末尾时,切换到B上,B走到末尾时切换到A上,这时如果链表有交点,两个指针将会在交点相遇。
1 | 相遇时两个指针走过的路程相同: |
你变成我,走过我走过的路。
我变成你,走过你走过的路。
然后我们便相遇了..
或许这就是程序员的浪漫吧
1 | /** |
参考文献