题目描述
输入一个链表,输出该链表中倒数第k个结点。
没做出来。。。想着是先算出全部节点数p,再p - k + 1再遍历,不知道怎么不行
正确解法(搬运)
public ListNode FindKthToTail(ListNode head,int k) {
ListNode p = head;
//相当于先过滤掉倒数后面的数
while(k-- != 0){
if(p == null)
return null;
p = p.next;
}
//已经过滤掉后面的数了,head只要跟着p走完就是倒数第k个数
while(p != null){
p = p.next;
head = head.next;
}
return head;
}