LeetCode如何解决链表中倒数第k个节点的问题
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章主要介绍了LeetCode如何解决链表中倒数第k个节点的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。题目输入一个链表,输
千家信息网最后更新 2024年11月20日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安全错误
数据库的锁怎样保障安全
永恒羁绊服务器
大型软件开发设计角色
缘汇软件开发公司
拼团趣软件开发
书小说软件开发
网络安全行业介绍
r740服务器故障灯
庄臣网络技术有限公司
寿县网络安全宣传
叁壹互联网科技有限公司
网络安全宣传周电力
网络安全的vi案例
眉山软件开发网站建设
先进网络技术质量
我的世界服务器变成操作员的指令
网络安全法帮信
制造业软件开发咨询
浙江大学网络安全研究生学费
电子政务内网网络安全自查
河北邯郸网络安全
数据库文件分为
后端给前端写接口查询数据库
网络安全宣传月策划案
服务器日志在哪里
2020 网络安全认证
access数据库怎么替换字段
上海新星网络技术有限公司
数据库安装到一半就退出
开源的svn服务器管理器
联合国技术数据库