
解题思路:用快慢两个指针来解,这两个指针的位置相差k-1个距离,当快指针走到最后一个节点的时候,慢指针指向的位置就是我们要的倒数第k个节点了。
思想就是这么简单了,很多链表类的题目都是活用指针就可以解决的,一个指针不可以的时候就两个指针来完成。
public ListNode FindKthToTail(ListNode head, int k)
{
if(k <= 0)
return null;
ListNode low = head;
ListNode fast = head;
for(int i=1; i < k;i++){
if(fast == null)
return null;
else
fast = fast.next;
}
if(fast == null)
return null;
while(fast.next != null){
low = low.next;
fast = fast.next;
}
return low;
}
本文介绍了一种使用快慢指针技巧找到链表中倒数第K个节点的算法。通过保持两个指针之间的固定距离,当快指针到达链表尾部时,慢指针恰好指向目标节点,巧妙解决了链表问题。
254

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



