题目描述:
输入一个链表,输出该链表中倒数第k个结点。
解题思路:
使用一个辅助链表(和原链表完全相同),辅助链表先往前进K个结点,然后两个链表同时往前偏遍历,当辅助链表遍历完时,原链表刚好遍历到倒数第K个结点。
代码:
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
ListNode p1,p2;
p1=head;
p2=head;
if(head==null){
return null;
}
while(k>0&p1!=null){
p1=p1.next;
k--;
}
if(k>0&&p1==null){
return null;
}
while(p1!=null){
p1=p1.next;
p2=p2.next;
}
return p2;
}
}