描述
输入一个链表,输出该链表中倒数第k个结点。
示例1
输入:1,{1,2,3,4,5}
返回值:{5}
思路:
new两个结点,一个结点先走k-1步,然后两个结点一起向后遍历,当先走的结点的next为null,返回第二个结点即为倒数第k个结点
代码:
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if (k <= 0||head==null){
return null;
}
ListNode fast=head;
ListNode slow=head;
for (int i = 0; i < k - 1; i++) {
if (fast.next==null){
return null;
}
fast=fast.next;
}
while (fast.next!=null){
fast=fast.next;
slow=slow.next;
}
return slow;
}
}