码迷,mamicode.com
首页 > 其他好文 > 详细

关于相交链表、带环链表、链表深拷贝的思路整理

时间:2019-07-27 15:44:20      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:两个指针   浅拷贝   整理   情况   问题   转化   一个   结构   判断   

返回相交链表的交点:1.先求出两个链表的各自长度
2.让长的先走他们的(长度差)步
3.然后两者同时走,第一次相遇就是交点(返回该结点)

判断链表是否带环:1.快慢指针(快的走两步,慢的走一步,不能一个一步,一个n步(N>2),可能会错过)
2.如果两个指针相遇,则链表带环;如果快的遇到null,则不带环(直线形)

求入环点:
1).转化为相交问题(求取相遇结点)
2).一个从起点,一个从交点,都每次走一步,第一次相遇点为入环点

相交+带环(六种情况)

复杂链表的复制
1)简单复制无法解决(因为是浅拷贝)
2)先复制结点,再考虑random问题
3)如果能从老的结点中找到新的结点问题好解决

结构:
1.老-新-老-新...
2.处理random
3.拆开

关于相交链表、带环链表、链表深拷贝的思路整理

标签:两个指针   浅拷贝   整理   情况   问题   转化   一个   结构   判断   

原文地址:https://blog.51cto.com/14232658/2424110

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!