输入一个链表,输出该链表中倒数第k个结点
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(head == null || k<1) return null;
//使第一个指针先到达k-1节点处,第二个节点在头部
ListNode first = head, second = head;
for(int i=1;i<k;i++){
if(first == null) return null;
first = first.next;
}
if(first == null) return null;
//两者同时一步一步向前直到指针1到达尾部,返回指针2
while(first.next!=null){
first = first.next;
second = second.next;
}
return second;
}
}