链表的算法
链表什么时候需要亚结点
当头节点会参与改变时,一定要定义亚结点
链表反转-----206
两种方法
反转链表中的部分
找到链表的中间结点-----876
123
各就位,齐步走
删除链表的倒数第K个结点
fast先走k+1步就位,之后各自走一步
123
以上两个题都需要就位,一个就位在头节点,一个先走K+1步就位
合并两个有序链表
判断链表是否有环-----141
原理:在一个环中,一个指针走一步,一个指针走两步,总会相遇。
各就位是就位在头节点还是fast先走两边再就位
就位在头结点,fast走完两步就要和slow进行一次比较。
找到有环链表的入口-----142
提到头节点的可以是快指针也可以是慢指针,因为之后两个指针都一步一步的走。
找到有环链表的环的长度
两种方法。
链接