> 文章列表 > 链表的算法

链表的算法

链表的算法

链表什么时候需要亚结点

当头节点会参与改变时,一定要定义亚结点

链表反转-----206

两种方法

反转链表中的部分

找到链表的中间结点-----876

123

各就位,齐步走

删除链表的倒数第K个结点

fast先走k+1步就位,之后各自走一步

123

以上两个题都需要就位,一个就位在头节点,一个先走K+1步就位

合并两个有序链表

判断链表是否有环-----141

原理:在一个环中,一个指针走一步,一个指针走两步,总会相遇。

各就位是就位在头节点还是fast先走两边再就位

就位在头结点,fast走完两步就要和slow进行一次比较。

找到有环链表的入口-----142

提到头节点的可以是快指针也可以是慢指针,因为之后两个指针都一步一步的走。

找到有环链表的环的长度

两种方法。

链接