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

​​题目来源:

leetcode题目,网址:面试题 02.02. 返回倒数第 k 个节点 - 力扣(LeetCode)

解题思路:

双指针。首先,让 head 指向 链表头节点,让 end 指向第 k 个节点。当end 非空时,head 和 end 同时后移一个节点。最后head指向节点即为所求。

解题代码:

复制代码
/**
 * 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) {
        ListNode* end=head;
        for(int i=0;i<k;i++){
            end=end->next;
        }
        while(end!=nullptr){
            head=head->next;
            end=end->next;
        }
        return head->val;
    }
};
复制代码

总结:

无官方题解。


相关推荐
ShineWinsu25 分钟前
对于数据结构:堆的超详细保姆级解析——下(堆排序以及TOP-K问题)
c语言·数据结构·c++·算法·面试·二叉树·
_OP_CHEN1 小时前
C++进阶:(五)map系列容器的全面解析
开发语言·c++·map·红黑树·stl容器·键值对·mapoj题
hetao17338371 小时前
ZYZ28-NOIP模拟赛-Round4 hetao1733837的record
c++·算法
大米粥哥哥1 小时前
c++ libcurl报错Send failed since rewinding of the data stream failed【已解决】
开发语言·c++·http·curl·rewind
woshimyc1 小时前
ESP32连接ThingsCloud上传设备数据(智慧小灯)
c++·物联网
Maple_land2 小时前
Linux复习:系统调用与fork
linux·运维·服务器·c++·centos
墨雪不会编程2 小时前
C++的基础语法篇一 ——命名空间
开发语言·c++
火山上的企鹅2 小时前
Qt C++ 软件开发工程师面试题
c++·qt·面试
沐怡旸3 小时前
【穿越Effective C++】条款16:成对使用new和delete时要采用相同形式——内存管理的精确匹配原则
c++·面试
z20348315203 小时前
我与C++的故事
开发语言·c++·c++40周年