题目:有两个链表,找出他们的第一个交点,要求每个链表只能遍历一次,可以对链表进行任何操作,空间O(1).
思路:
这个题目刚开始看觉得要遍历一次有点困难,但是仔细一想,人家告诉说可以对链表进行任何操作,这是一个没有用到的条件(大家一定要注意到题目中没有用到的条件,往往是解题的关键所在)。
于是乎,方法如下:
1.遍历第一个链表List1,将每一个节点的next都置为NULL。
2.遍历第二个链表List2,List2的尾节点就是第一个交点。
本文介绍了一种高效查找两个链表第一个交点的方法:通过修改链表元素将链表遍历一次即可找到交点,这种方法空间复杂度为O(1)。
题目:有两个链表,找出他们的第一个交点,要求每个链表只能遍历一次,可以对链表进行任何操作,空间O(1).
思路:
这个题目刚开始看觉得要遍历一次有点困难,但是仔细一想,人家告诉说可以对链表进行任何操作,这是一个没有用到的条件(大家一定要注意到题目中没有用到的条件,往往是解题的关键所在)。
于是乎,方法如下:
1.遍历第一个链表List1,将每一个节点的next都置为NULL。
2.遍历第二个链表List2,List2的尾节点就是第一个交点。
389
246
2806

被折叠的 条评论
为什么被折叠?