【解题思路】
首先统计链表中共有多少个节点,总结点数减去k,即为待返回的链表节点前的节点数n,从链表头数n个节点,即为待返回的节点。
/**
* 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 p = head;
int len = 0, target;
while(p != null)
{
len++;
p = p.next;
}
target = len - k;
int i = 0;
p = head;
while(i < target)
{
p = p.next;
i++;
}
return p;
}
}