目的:输入K值,得出单链表中倒数第K个节点。
实现思路:设置两个节点p,q,都指向头节点位置,先让p走差值k步,走完之后,p,q两个同时走,如果p走到尾节点,就结束,其中q就是倒数第k个节点。
public Node<T> K(int k){
Node<T> p=head;//p是相差k步
Node<T> q=head;
int i=1;
while(i<k){
if(p.next==null){
return null;
}
p=p.next;
i++;
}
while(p.next!=null){
p=p.next;
q=q.next;
}
return q;
}