写在前面
- 参考思路刷题,验证个人思路正确性
- 刚睡醒,,,
- 个人思考
- 环的思想
- 不存在无限循环情况,注意
NULL
的存在
题目详情
ac代码
- 哈希表法
-
ListNode*
作为key
- 将A中节点放入哈希表,逐个检查B中节点,如果出现在哈希表中,则该节点为相交节点
-
空间复杂度可能不太符合要求,但可以a题目
-
**环的思想**!!!
-
时间O(m+n),空间O(1)
- 汗,貌似很多次不太能灵活运用
-
场景1:
两个链表长度相同,那么两个指针分别遍历各自链表(不会出现跳到另1个链表开头继续遍历的情况),如果有交点,会遇到相同的情况,如果没有交点,则在各自链表末尾都等于NULL,出现相等while循环退出,返回NULL -
场景2:
两个链表长度不同,那么一定会出现“其中一条遍历到末尾时,跳到另一个条链表开头继续遍历”的情况,如果有交点,则会在交点处返回,因为在交点处两个指针走的路程相等;如果没有交点,则两个指针都会将headA和headB遍历一遍,并且在末尾处都等于NULL,返回NULL.
- 示例1效果图
- 示例3效果图
- 参考文章
- Leetcode 160 相交链表 C++. 推荐
- leetcode160. 相交链表(C++)