Linked List Cycle I,II, Partition List

来源:互联网 发布:setscale java 编辑:程序博客网 时间:2024/04/28 15:37

Linked List Cycle II

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

继续计算可得第二题

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

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

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


Partition List

简单链表操作,删除和插入节点

0 0
原创粉丝点击