双百解法,简单易懂
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode getKthFromEnd(ListNode head, int k) {
//创建结果节点
ListNode res=null;
//创建一个中间保存节点
ListNode temp = head;
//用来保存链表长度
int count = 0;
//用来找到输出节点链表的位置
int num;
//求链表长度
while(temp!=null){
count++;
temp=temp.next;
}
num = count-k+1;
count=0;
temp = head;
while(temp!=null){
count++;
if(count==num){
res=temp;
break;
}
temp = temp.next;
}
return res;
}
}