LeetCode Algorithm 剑指 Offer 22. 链表中倒数第k个节点
Posted Alex_996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode Algorithm 剑指 Offer 22. 链表中倒数第k个节点相关的知识,希望对你有一定的参考价值。
Ideas
算法:双指针
数据结构:链表
思路:我们可以创建两个指针,即快慢指针,快指针比慢指针快k步,那么当快指针到达链表尾部时,慢指针正好达到倒数第k个节点,直接返回慢指针指向的链表即可。
Code
C++
class Solution
public:
ListNode* getKthFromEnd(ListNode* head, int k)
ListNode *quick = head, *slow = head;
for (int i = 0; i < k; i++)
quick = quick -> next;
while (quick)
quick = quick -> next;
slow = slow -> next;
return slow;
;
以上是关于LeetCode Algorithm 剑指 Offer 22. 链表中倒数第k个节点的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Algorithm 剑指 Offer 24. 反转链表
LeetCode Algorithm 剑指 Offer 18. 删除链表的节点
LeetCode Algorithm 剑指 Offer 06. 从尾到头打印链表
LeetCode Algorithm 剑指 Offer 22. 链表中倒数第k个节点