LeetCode Java刷题笔记—剑指 Offer 22. 链表中倒数第k个节点

Posted 刘Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode Java刷题笔记—剑指 Offer 22. 链表中倒数第k个节点相关的知识,希望对你有一定的参考价值。

剑指 Offer 22. 链表中倒数第k个节点

输入一个链表,输出该链表中倒数第k个节点。

简单难度。使用快慢指针即可,快指针先走k步,然后快慢一起走,直到快指针走到最后一个节点,此时慢指针即指向倒数k个节点了。

public ListNode getKthFromEnd( ListNode head, int k )
   //快慢指针
   ListNode fast = head, slow = head;
   //快指针先走k
   while( k-- > 0 )
      fast = fast.next;
   
   //特殊情况,即
   if( fast == null )
      return head;
   
   while( fast != null )
      fast = fast.next;
      slow = slow.next;
   
   return slow;

以上是关于LeetCode Java刷题笔记—剑指 Offer 22. 链表中倒数第k个节点的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Java刷题笔记—剑指 Offer 22. 链表中倒数第k个节点

LeetCode Java刷题笔记—剑指 Offer 54. 二叉搜索树的第k大节点

LeetCode Java刷题笔记—226. 翻转二叉树

LeetCode Java刷题笔记—101. 对称二叉树

LeetCode Java刷题笔记—101. 对称二叉树

LeetCode Java刷题笔记—113. 路径总和 II