/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
*/
/*思路:首先判断直接不可以的情况,head为空不可以,
k小于等于0不可以然后定义两个指针的位置,两个指针
相对距离为k先将第一个往后移动k个指针,然后两个一
直往后移动,一直到末尾然后就可以得到倒数第k个节点
*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(head==null||k<=0{
return null;
} //定义两个指针节点
ListNode pre=head;
ListNode last=head; //先将一个节点往后移动k-1个距离
for(int i=1;i<k;i++){
if(pre.next!=null){
pre=pre.next;
}else{
return null;
}
} //一起移动
while(pre.next!=null){
pre=pre.next;
last=last.next;
}
return last;
}
}
``
输入一个链表,输出该链表中倒数第k个结点
最新推荐文章于 2020-09-27 22:57:13 发布