题目描述
输入一个链表,输出该链表中倒数第k个结点
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(head==null || k<=0) return null;
ListNode p,q;
p=q=head;
int i=0;
for(;p!=null;i++){
p = p.next;
if(i>=k){
q = q.next;
}
}
return (i<k) ? null : q;
}
}
**思路:利用两个指针,一个指针先走k步,然后这个指针接着走,只不过另外一个指针从头开始走,等到第一个指针走到结尾处的时候,另外一个走到倒数第k个
这种链表的题目,通过可以使用两个指针的方法,还有与这个相似的题目,例如:找到链表的中间节点、判断一个链表是否是环等**