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

总结:

无官方题解。


相关推荐
unicrom_深圳市由你创科技8 小时前
哪些控制逻辑应该放在 PLC,哪些放在上位机?
c++
玖玥拾9 小时前
C/C++ 基础笔记(十三)继承
c语言·c++·继承
ao-weilai11 小时前
C++:哈希表
c++·哈希算法·散列表
汉克老师11 小时前
GESP7级C++考试语法知识(二、指数函数(1、pow() 函数)
c++·指数函数·pow·gesp7级·精度误差
退休倒计时11 小时前
【每日一题】LeetCode 53. 最大子数组和 TypeScript
数据结构·算法·leetcode·typescript
旖-旎11 小时前
FloodFill(图像渲染)(1)
c++·算法·深度优先·力扣
汉克老师12 小时前
GESP2026年3月认证C++六级真题与解析(编程题1 选数)
c++·动态规划·线性dp·gesp六级·状态转移·选与不选
有点。12 小时前
C++倍增法(练习题)
c++·算法
凡人叶枫12 小时前
Effective C++ 条款23:宁以 non-member、non-friend 替换 member 函数
linux·开发语言·c++·嵌入式开发
C语言小火车12 小时前
什么时候用智能指针?什么时候用裸指针?
c语言·c++·学习·指针