寻找两个链表的第一个交点-微策略

[互联网面试笔试汇总C/C++-7] 寻找两个链表的第一个交点-微策略

分类: 互联网笔试面试汇总   88人阅读  评论(0)  收藏  举报
链表 面试 遍历 微策略

题目:有两个链表,找出他们的第一个交点,要求每个链表只能遍历一次,可以对链表进行任何操作,空间O(1).


思路:

这个题目刚开始看觉得要遍历一次有点困难,但是仔细一想,人家告诉说可以对链表进行任何操作,这是一个没有用到的条件。

于是乎,方法如下:

1.遍历第一个链表List1,将每一个节点的next都置为NULL。

2.遍历第二个链表List2,List2的尾节点就是第一个交点。


上面思路挺好的。我想到的方法是,先把第一个链表的next指针哈希,然后,把第二个链表从前往后哈希判重, 这种方法的好处就是不会更改原来的数据。

你可能感兴趣的:(互联网笔试面试汇总)