您的位置:首页 > 编程语言 > C语言/C++

Linked List Cycle I,II, Partition List

2014-11-10 19:44 363 查看
Linked List Cycle II

两个指针一个两步一个一步,如果有环,则会相遇,此时解决了第一题

继续计算可得第二题

相遇的时候,一步的指针走了x步,两步的指针走了2x步,而观察可知,2x = x + (k圈),即两步的指针走完x后又绕了k圈与一步的指针相遇

这时,我们把一个指针放到原来的链表头,另一个在相遇的地点,两个指针都走一步,那么它们还会在刚才相遇的地方相遇,而且会有一部分轨迹重合(因为都是一步的)

重合的那部分的第一个相遇点,即为圈的起点

Partition List

简单链表操作,删除和插入节点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Leetcode c++ python