首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
链表中倒数最后k个结点
672条解析
开通博客写题解
Maokt
发表于 2021-06-23 16:27:34
算法思想一:快慢指针 解题思路: 第一个指针先移动k步,然后第二个指针再从头开始,这个时候这两个指针同时移动,当第一个指针到链表的末尾的时候,返回第二个指针即可 图解: 代码展示: class Solution: &nb
展开全文
牛客题解官
发表于 2022-04-22 11:28:29
题目的主要信息: 一个长度为nnn的链表,返回原链表中从倒数第k个节点至尾节点的全部节点 如果该链表长度小于k,请返回一个长度为 0 的链表 举一反三: 学习完本题的思路你可以解决如下题目: BM4.合并有序链表 BM5.合并k个已排序的链表 BM6.判断链表中是否有环 BM7.链表中环的入口节
展开全文
大菠萝侦探
发表于 2021-06-22 20:59:02
描述 输入一个链表,输出一个链表,该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。如果该链表长度小于k,请返回一个长度为 0 的链表。 数组法 把每个节点装进数组中,访问倒数第 k 个元素。 class Solution { public: ListNode* FindKthToT
展开全文
开车的阿Q
发表于 2021-06-21 22:04:23
描述 这是一篇面对初级coder的题解。 知识点:链表 栈 难度:一星 题解 题目: 输入一个链表,输出一个链表,该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。如果该链表长度小于k,请返回一个长度为 0 的链表。 考察链表的基础知识 方法一:栈
展开全文
2019113913
发表于 2021-07-15 12:43:56
题意思路: 输入一个链表,输出一个链表,该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。如果该链表长度小于k,请返回一个长度为 0 的链表。 方法一:双指针定义两个指针,i和j指向链表的头结点。 i指针先走k步,如果链表的长度也等于k的话,快指针走k步正好会走到空。 如果在走第k步之前链表
展开全文
咪咪虾条001
发表于 2021-02-26 19:22:56
在链表中:倒数的+顺数的长度等于链表总长度,所以可以设置两个指针,一个先走K步,剩下的到链表的末尾要走的步数就是倒数第k个节点,需要从头开始走的步数 public ListNode FindKthToTail (ListNode pHead, int k) { // write co
展开全文
数据结构和算法
发表于 2021-04-02 16:14:45
1,双指针求解 这题要求链表的倒数第k个节点,最简单的方式就是使用两个指针,第一个指针先移动k步,然后第二个指针再从头开始,这个时候这两个指针同时移动,当第一个指针到链表的末尾的时候,返回第二个指针即可。注意,如果第一个指针还没走k步的时候链表就为空了,我们直接返回null即可。 publ
展开全文
AcKei
发表于 2021-03-07 22:44:24
这道题用双指针即可,倒数第k个,其实就是正数n-k+1个。先让快指针走k步,然后slow从head出发,跟fast一步一步走,当fast走到尾(空节点)时,slow的位置正在n-k+1。但是还得注意一些极值情况,比如链表为空或者k大于链表节点时。上代码: public ListNode Fi
展开全文
汤姆和佩奇
发表于 2021-09-18 10:30:45
/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : val(x), next(nullptr) {} * }; */ class Solution { // pu
展开全文
不是江小白
发表于 2021-08-05 13:39:48
1. 解题思路 一般链表题,我们都可以考虑双指针的解题思路,此题同样可以。首先注意题目描述里这句👇“如果该链表长度小于k,请返回一个长度为 0 的链表。” 意味着如果链表为空,那么直接返回None即可。然后结合示例1,继续分析: 首先创建两个指针,指向头部节点: 然后根据k值,移动first指
展开全文
菜鸡孙连城
发表于 2022-03-15 20:16:37
原来这道题也可以快慢指针,惊呆了 注意:1.快指针走k步的时候注意判断fast是否为null function FindKthToTail( pHead , k ) { let fast = pHead, slow = pHead; for(let i=0;i<k;i++)
展开全文
王清楚
发表于 2021-03-23 17:49:00
解法: 定义两个指针,fast,slow指向链表的头结点。 fast指针先走k步,走的时候要注意判断一下链表的长度是否大于等于k。如果链表的长度也等于k的话,快指针走k步正好会走到空。如果在走第k步之前链表就指向空的话,说明链表长度小于k,直接返回空。 然后fast指针和slow指针一起走。当fa
展开全文
封心忘忧
发表于 2022-08-04 11:37:03
struct ListNode* FindKthToTail(struct ListNode* pHead, int k ) { struct ListNode*
展开全文
牛客566659818号
发表于 2022-08-03 10:30:03
此题思路快慢指针,先用快指针走k步,如果k的大小没有超过链表大小,则快慢指针同时移动,这样两者始终保持k距离,当快指向空时,返回慢指针即为倒数的k个结点 struct ListNode* FindKthToTail(struct ListNode* pHead, int k ) { &
展开全文
liuzhen007
发表于 2021-03-06 10:40:59
题目描述: 输入一个链表,输出该链表中倒数第k个结点。 题目链接:http://www.nowcoder.com/questionTerminal/886370fe658f41b498d40fb34ae76ff9 按部就班的解法,这就双百了? 不过
展开全文
查看本题
查看本题讨论
等你来战
查看全部
牛客小白月赛130
报名截止时间:2026-03-20 21:00
CACPC - 环海岸线联盟联合校赛决赛(同步赛)
报名截止时间:2026-03-21 18:00
2026年山东大学(威海)程序设计新星赛(同步赛)
报名截止时间:2026-03-21 18:00
2026 年中国传媒大学程序设计大赛(同步赛)
报名截止时间:2026-03-21 17:00
蓝桥杯多校模拟赛
报名截止时间:2026-03-21 18:00
第二十二届西南科技大学ACM程序设计竞赛(同步赛)
报名截止时间:2026-03-22 17:30
牛客周赛 Round 136
报名截止时间:2026-03-22 21:00
牛客练习赛150
报名截止时间:2026-03-27 21:30
“⌬杯”蓝桥杯大赛省赛模拟赛
报名截止时间:2026-03-29 17:00
牛客2026年愚人节比赛
报名截止时间:2026-04-01 21:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题