LeetCode如何解决链表中倒数第k个节点的问题
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了LeetCode如何解决链表中倒数第k个节点的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。题目输入一个链表,输
千家信息网最后更新 2026年10月31日LeetCode如何解决链表中倒数第k个节点的问题
这篇文章主要介绍了LeetCode如何解决链表中倒数第k个节点的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
题目
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
示例:
给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.
思路
初始化: 前指针 former 、后指针 latter ,双指针都指向头节点 head 。
构建双指针距离: 前指针 former 先向前走 k 步(结束后,双指针 former 和 latter 间相距 k 步)。
双指针共同移动: 循环中,双指针 former 和 latter 每轮都向前走一步,直至 former 走过链表 尾节点 时跳出(跳出后, latter 与尾节点距离为 k-1,即 latter 指向倒数第 k 个节点)。
返回值: 返回 latter 即可。
代码
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode getKthFromEnd(ListNode head, int k) { ListNode former = head, latter = head; for(int i = 0; i < k; i++){ former = former.next; } while(former != null){ former = former.next; latter = latter.next; } return latter; }}感谢你能够认真阅读完这篇文章,希望小编分享的"LeetCode如何解决链表中倒数第k个节点的问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
节点
指针
篇文章
问题
从头
代码
价值
兴趣
同时
思路
指向
更多
朋友
本题
知识
示例
编带
行业
资讯
资讯频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云南咖啡
互联网络科技
湖北九亚互联网络科技有限公司
互联网品科技
智能科技公司是互联网公司吗
互联网为科技
互联网 科技创新
互联网 视角下的科技创新
海南购全球互联网科技
老年人脱离互联网科技的作文
汽车互联网创新科技园
移动互联网年度科技创新
成都互联网科技公司工作好不好
互联网媒体平台算高科技产业
科技类公司包括互联网吗
洛阳共同富裕互联网科技有限公司
佛山市拉法互联网科技有限公司
普陀区互联网教育科技管理办法
互联网金融金融科技
杭州科技互联网公司有哪些
精品咖啡豆
互联网 科技公司
深圳科技互联网
有木互联网科技
上海亿帐通互联网科技
保险科技服务互联网营销体系
滨湖区互联网智能科技产品有哪些
2021互联网科技公司排名
雨阳互联网卡科技有限公司
杭州融税互联网科技有限公司