题目连接
链接: 链表中倒数第k个结点
题目要求

解题思路
- 定义 2 个指针
fast和slow - 让
fast先走差值步后 ,slow和fast同时一次走一步 fast == null的时候,返回slow
代码实现
public class Solution {
public ListNode FindKthToTail(ListNode head, int k) {
// 1. front先往后走k步
ListNode front = head;
while (0 != k--) {
// 如果front为空,说明k大于链表中节点个数
if (null == front) {
return null;
}
front = front.next;
}
// 然后front和back同时往后移动,
// 当front走到末尾的时候,back刚好是倒数第k个节点
ListNode back = head;
while (null != front) {
front = front.next;
back = back.next;
}
return back;
}
}

1548

被折叠的 条评论
为什么被折叠?



