LeetCode 面试题02.02. 返回倒数第k个节点

Posted zzw-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 面试题02.02. 返回倒数第k个节点相关的知识,希望对你有一定的参考价值。

思路描述:采用双指针的思想,让head指针先行移动k个位置,然后head,h同步移动,当head指针移动到链表尾,h指针所指即为倒数第k个节点

LeetCode 代码如下:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    int kthToLast(ListNode* head, int k) {
           /*
           双指针,head指针先移动k个位置,h然后从头开始与head同步移动,当head指向链表尾时,h指向倒数k个节点
           */
           ListNode *h;
           h=head;
           int d=0;
           for(;d<k;d++){
               head=head->next;
           }
           while(head){
               head=head->next;
               h=h->next;
           }
           return h->val;
    }
};

 

以上是关于LeetCode 面试题02.02. 返回倒数第k个节点的主要内容,如果未能解决你的问题,请参考以下文章

算法面试题 02.02. 返回倒数第 k 个节点

Python 程序员面试金典 面试题 02.02. 返回倒数第 k 个节点

LeetCode 面试题22. 链表中倒数第k个节点

力扣题解 面试题22. 链表中倒数第k个节点 双100%

剑指OFFER----面试题22. 链表中倒数第k个节点

面试题22:链表中倒数第k个节点