链表中倒数第k个结点
描述输入一个链表,输出该链表中倒数第k个结点。
示例1输入:
1,{1,2,3,4,5}
返回值:
{5}
要找到倒数第k个,要从前往后走len-k个
能不能遍历单链表1遍,就能知道倒数第k个节点
使用快慢指针法 fast slow
public ListNode FindKthToTail(ListNode head,int k) {
if(k < 0){
return null;
}
if(head == null){
return null;
}
ListNode slow = head;
ListNode fast = head;
//先让fast先走k-1步
while(k-1 != 0){
fast = fast.next;
if(fast == null){
return null;
}
k--;
}
//两个引用一起走
while(fast != null && fast.next != null){
fast = fast.next;
slow = slow.next;
}
return slow;
}



