求两单链表交点

题目:已知两单链表有交点,给出两单链表的头指针,求交点位置。


思路①:自交点至公共尾部的结点都是相同的,则分别遍历两个链表,并将每个结点的指针分别存储在两个数组中,然后从两数组尾部开始比较,到两指针值开始不同时,前一位置即使指向交点的指针。


思路②:分别遍历两链表,得到各自的长度L1、L2,然后长的减短的得L;再从头结点开始,长链表的头指针先向前走L步,然后两指针同步单步往前走,指向相同结点时即是交点。此方法不需额外的存储空间。


思路③:先遍历一个单链表到尾部,然后将尾部的空指针指向另一个单链表的头部,转化为求带环单链表的连接点的问题。解决方法参考:http://blog.sina.com.cn/s/blog_725dd1010100tqwp.html


参考资料:《剑指offer》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值