链表中倒数第K个结点
Posted *平芜尽处是春山*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表中倒数第K个结点相关的知识,希望对你有一定的参考价值。
解法一、顺序查找
class Solution
public ListNode getKthFromEnd(ListNode head, int k)
int n = 0;
ListNode node = null;
for(node = head;node != null;node = node.next)
n++;
for(node = head;n > k;n--)
node = node.next;
return node;
运行截图:
解法二、快慢指针法
class Solution
public ListNode getKthFromEnd(ListNode head, int k)
if(head == null || k == 0)
return null;
ListNode low = head,fast = head;
for(int i = 0;i < k;i++)
if(fast == null)
return null;
fast = fast.next;
while(fast != null)
low = low.next;
fast = fast.next;
return low;
运行截图:
以上是关于链表中倒数第K个结点的主要内容,如果未能解决你的问题,请参考以下文章