链表中倒数第K个节点
定义两个指针,两个指针的间距设置好为K-1后,两个指针同时跑,当后面的指针指到链表尾部的时候,前面的指针就到了倒数第K个节点
public class Solution {
public Node FindKthToTall(Node head,int k){
Node phead=head;//后面的指针
Node temp=head;//前面的指针,与后面的指针相隔2个节点,
// 当后面的指针为null时,前面的指针也就是倒数第K个节点
if(phead==null||k<=0){
return null;
}
for(int i=0;i<k-1;k++){
if(phead.next==null){
return null;
}
phead=phead.next;
}
while(phead.next!=null){
phead=phead.next;
temp=temp.next;
}
return temp;
}
}
class Node{
int data;
Node next;
public Node(int data){
this.data=data;
this.next=null;
}
}