当前位置: 首页 > article >正文

面试金典题2.2

实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。

输入: 1->2->3->4->5 和 k = 2
输出: 4

本题的思路其实很简单,总共n个数,找倒数第k个数,其实就是找第n-k个数。主要的问题是这个题放在链表里面该如何解决。关于链表的题,其中最常用的方法就是双指针。定义两个指针,都指向头结点,让其中一个指针先移动k次,然后让两个指针同时开始移动,直到先移动的那个指针指向空,则后移动的指针便刚好指向倒数第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) {
        ListNode *p=head;
        ListNode *q=head;
        while(k--){
            q=q->next;
        }
        while(q!=nullptr){
            p=p->next;
            q=q->next;
        }
        return p->val;
    }
};


http://www.kler.cn/news/314971.html

相关文章:

  • HarmonyOS 速记
  • java 面试题总结(基础篇)
  • 中泰免签,准备去泰国旅游了吗?《泰语翻译通》app支持文本翻译和语音识别翻译,解放双手对着说话就能翻译。
  • 矩阵分析 线性空间和线性变换 笔记手稿
  • Electron应用程序打包后运行报错cannot find module ‘@vue/cli-service‘
  • 爬虫学习 | 03 爬虫静态网页的爬取(1)
  • 【C++ Primer Plus习题】17.5
  • Linux C高级day3
  • SpringCloud操作mysql
  • 智能工厂的软件设计 运用符号学方法的语言分类学 之0 回顾
  • 感知笔记3:平面和物体检测
  • 2024 vue3入门教程:02 我的第一个vue页面
  • 基于python+django+vue的美术馆预约系统
  • 关于安卓App自动化测试的一些想法
  • c++278函数指针
  • 【Python机器学习】NLP信息提取——正则模式
  • 【LeetCode】146. LRU缓存
  • LeetCode 每日一题 2024/9/16-2024/9/22
  • 自然语言处理_tf-idf
  • Java 入门指南:Java 8 新特性 —— Stream 流
  • JavaScript 插入元素到数组三个方法代码示例
  • celery 结合 rabbitmq 使用时,celery 消费者执行时间太久发送 ack 消息失败
  • 【研发日记】嵌入式处理器技能解锁(六)——ARM的Cortex-M4内核
  • 【js常用函数封装】获取年龄,根据身份证获取年龄,性别,生日
  • 算法笔试-编程练习-好题-07
  • 《MmAP : Multi-Modal Alignment Prompt for Cross-Domain Multi-Task Learning》中文校对版
  • Homebrew安装与切换下载源
  • 单例模式(饿汉式-懒汉式)
  • leetcode:3232. 判断是否可以赢得数字游戏(python3解法)
  • FastDFS架构和原理