
【解题思路】
首先统计链表中共有多少个节点,总结点数减去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;
}
}
本文介绍了一种寻找链表中倒数第K个节点的方法,通过两次遍历链表来确定目标节点的位置。首次遍历获取链表长度,第二次遍历找到指定位置的节点。
366

被折叠的 条评论
为什么被折叠?



