思路:搞两个指针一个先走k-1步,然后两个一起走,如果先走的为空了,那么后走的所指向的就是我们要找的倒数第k个指针。
注意k,不能比链表长度大。
public class diK {
public ListNode FindKthToTail(ListNode head,int k) {ListNode prenode=null;
prenode=head;
ListNode endnode=null;
endnode=head;
if(head==null||k<0)
return null;
else{
for(int i=1;i<=k;i++)
{
prenode=prenode.next;
}
while(prenode!=null)
{
prenode=prenode.next;
endnode=endnode.next;
}
return endnode;
}
}
}
本文介绍了一种寻找链表中倒数第K个节点的方法,通过使用双指针技巧,首先让一个指针向前移动K-1步,然后两个指针同步移动直至前指针到达链表尾部,此时另一个指针正好指向目标节点。
1227

被折叠的 条评论
为什么被折叠?



