求链表的倒数第k个节点
解题思路
1、首先遍历求得链表的总长度size
2、得到链表的总长度之后,通过数学计算可知 size-k 个便是倒数第k个元素的位置
图解
具体代码实现
/**
* 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 temp = head;
int size = 0;
while(temp != null){
temp = temp.next;
size += 1;
}
temp = head;
for(int i = 0; i < size-k;i++){
temp = temp.next;
}
return temp;
}
}