面试题 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;
    }
};
复制代码

总结:

无官方题解。


相关推荐
近津薪荼6 分钟前
优选算法——前缀和(1):一维前缀和
c++·学习·算法
草莓熊Lotso2 小时前
Linux 基础 IO 初步解析:从 C 库函数到系统调用,理解文件操作本质
linux·运维·服务器·c语言·数据库·c++·人工智能
闻缺陷则喜何志丹2 小时前
P8699 [蓝桥杯 2019 国 B] 排列数|普及+
c++·数学·蓝桥杯·数论·洛谷·数列
D_evil__8 小时前
【Effective Modern C++】第三章 转向现代C++:16. 让const成员函数线程安全
c++
Queenie_Charlie9 小时前
前缀和的前缀和
数据结构·c++·树状数组
kokunka10 小时前
【源码+注释】纯C++小游戏开发之射击小球游戏
开发语言·c++·游戏
_不会dp不改名_11 小时前
leetcode_3010 将数组分成最小总代价的子数组 I
算法·leetcode·职场和发展
John_ToDebug12 小时前
浏览器内核崩溃深度分析:从 MiniDump 堆栈到 BindOnce UAF 机制(未完待续...)
c++·chrome·windows
txinyu的博客13 小时前
解析muduo源码之 SocketsOps.h & SocketsOps.cc
c++
ctyshr14 小时前
C++编译期数学计算
开发语言·c++·算法