JZ14-链表中倒数最后k个结点(双指针、链表)
描述
输入一个链表,输出一个链表,该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。
如果该链表长度小于k,请返回一个长度为 0 的链表。
示例1
输入:
1 |
|
返回值:
1 |
|
解题思路
要输出倒数第k个到尾节点的全部节点
这两个节点之间相差k个
而双指针可以解决这个问题
快指针先出发,如果不足k次移动就到结尾直接返回空
之后慢指针出发,到快指针指即将指向空时结束
返回慢指针即可
其中的麻烦点就在于边界条件,特别需要注意k与链表长度相等时以及链表本身为空
代码
1 |
|
遇事不决,画图解决
JZ14-链表中倒数最后k个结点(双指针、链表)
https://blog-theta-ten.vercel.app/2021/07/08/JZ14-链表中倒数最后k个结点-双指针、链表/