13.链表中倒数第k个结点
题目描述
输入一个链表,输出该链表中倒数第k个结点。
解题思路:可设置两个指针,先让其中一个指针,走到第k个结点上,若k大于链表长度,则返回null,然后两个指针同时向后走,直到前面的指针为null,返回后一个指针。
public ListNode FindKthToTail(ListNode head,int k) {
if(head==null)
return null;
ListNode p=head;
ListNode q=head;
int count=0;
for(int i=1;i<=k;i++)
{
q=q.next;
count++;
if(q==null && k>count)
return null;
}
while(q!=null)
{
p=p.next;
q=q.next;
}
return p;
}