这里分享一下一个交叉链表的关键题目,觉得不错的小伙伴别忘了点赞支持
交叉链表
- 无环链表
- 思路
- 代码
- 有环链表
- 思路
- 代码
- 总结
无环链表
已知有两个链表(无环)相交,求出相交的头结点
思路
因为链表相交,所以最后一部分一定重复,这是非常重要的,为了求出相交的头结点,要求出链表的长度差,让长链表先走,走到两链表长度相同时,两个链表一起走,直到两个链表next相同,就求出了答案。
代码
有环链表
由以上三种情况,第一种没有相交,第二种是一个相交节点,第三个有两个相交节点
思路
首先运用链表入环节点算法的原理,将入环节点求出,然后根据入环节点的个数划分,如果有一个节点,则是第二种情况,此时处理方法和上一个一样;如果节点不同,看看在环中是否会相遇,如果不会相遇,是一种情况,如果相遇了是第三种情况。详细步骤如下:
代码
总结
关于链表相交的问题如上述,有更多的问题欢迎在评论区发言