题目描述
输入一个链表,输出该链表中倒数第k个结点。
思路:两个指针都指向链表头节点p, q,当i<=k时,移动q,当i<k时,移动p, q。q到结尾时,如果i小于k,返回null,否则返回p。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
ListNode p=head, q=head;
int i=0;
while(q!=null){
i++;
if(i<=k){
q=q.next;
}else{
q=q.next;
p=p.next;
}
}
return i<k?null:p;
}
}