剑指offer 22 链表中倒数第K个节点.
简介
链表中倒数第K个节点.
思路
双指针, 然后一个指针延迟运行.
code
class Solution {
public:
ListNode* getKthFromEnd(ListNode* head, int k) {
ListNode *p = head;
ListNode *pk = head;
int index = 0;
bool check = false;
while(p){
p = p->next;
index ++;
if(index == k) check = true;
if(index > k){
pk=pk->next;
}
}
if(check) return pk;
return NULL;
}
};
java
// 可以让一个指针先走, 真的方便.
class Solution {
public ListNode getKthFromEnd(ListNode head, int k) {
ListNode former = head, latter = head;
for(itn i = 0; i<k; i++){
former = former.next;
}
while(former != null) {
former = former.next;
latter = latter.next;
}
return latter;
}
}
剑指offer 22 链表中倒数第K个节点.的更多相关文章
- 剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点 Offer 22 常规解法 常规解法其实很容易可以想到,只需要先求出链表的长度,然后再次遍历取指定长度的链接即可. package com.walega ...
- 力扣 - 剑指 Offer 22. 链表中倒数第k个节点
题目 剑指 Offer 22. 链表中倒数第k个节点 思路1(栈) 既然要倒数第k个节点,那我们直接把所有节点放到栈(先进后出)里面,然后pop弹出k个元素就可以了 代码 class Solution ...
- LeetCode 剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点 题意 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个 ...
- 《剑指offer》 链表中倒数第k个节点
本题来自<剑指offer> 链表中倒数第k个节点 题目: 输入一个链表,输出该链表中倒数第k个结点. 思路: 倒数第k个节点,而且只能访问一遍链表,定义两个节点,两者之间相差k个距离,遍历 ...
- 【剑指Offer】链表中倒数第k个节点 解题报告(Python)
[剑指Offer]链表中倒数第k个节点 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-intervie ...
- 【Java】 剑指offer(22) 链表中倒数第k个结点
正文 本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入一个链表,输出该链表中倒数第k个结点.为了符合大多数人的 ...
- [剑指offer] 14. 链表中倒数第K个节点+翻转+逆序打印+合并两个排序链表 + 链表相交(第一个公共节点) (链表)
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路: 两个指针,起始位置都是从链表头开始,第一个比第二个先走K个节点,当第一个走到链表尾时,第二个指针的位置就是倒数第k个节点.(两指针始终相 ...
- 剑指OFFER之链表中倒数第k个节点(九度OJ1517)
题目描述: 输入一个链表,输出该链表中倒数第k个结点.(hint: 请务必使用链表.) 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测试案例,输入的第一行为两个整数n和k(0<= ...
- 【剑指offer】链表中倒数第k个节点,C++实现(链表)
1.题目 输入一个链表,输出该链表中倒数第k个结点.链表的尾节点是倒数第一个节点. struct ListNode { int val; struct ListNode *next; } 2.思路 ...
- 剑指Offer:链表中倒数第k个结点【22】
剑指Offer:链表中倒数第k个结点[22] 题目描述 输入一个链表,输出该链表中倒数第k个结点. 解题思考 我们定义两个指针L和R,R事先移动K-1个位置,然后两者同时往后移动直到遇到R的下个节点为 ...
随机推荐
- java基础之成员变量和局部变量区别
1:在类中的位置不同 成员变量:类中,方法外 局部变量:方法中,或者方法声明上(形参) 2:作用范围不一样 成员变量:类中 局部变量:方法中 3:初始化值的不同 成员变量:有默认值 局部变量:没有默认 ...
- 🎀FreeMarker 禁止自动转义标签-noautoesc
简介 FreeMarker 是一个用 Java 语言编写的模板引擎,它被设计用来生成文本输出(HTML 网页.电子邮件.配置文件等).在 FreeMarker 中,默认情况下,当你在模板中输出变量时, ...
- Linux操作系统(下)
哈喽啊,大家好~前面已经有两篇关于Linux操作系统的分享了,这篇将会是关于Linux操作系统基础的最后一篇分享,毕竟对做网安这方面来说这真的很重要啊,接下来就是我要分享的内容了,让我们一起往下看吧. ...
- nacos安装
linux-docker 下载nacos docker pull nacos/nacos-server:v2.2.3 `` ## 下载git脚本 ```shell cd /prod mkdir nac ...
- Java---switch...case中case可以匹配些什么
switch-case语句 case 标签可以是 : •类型为 char.byte.short 或 int 的常量表达式. •枚举常量. •从 Java SE 7 开始,case 标签还可以是字符串字 ...
- STM32F407——使用systick定时器裸机制作延时函数
准备工作: 软件:keil5 硬件:STM32F407ZET6芯片,gec6818开发板,st-link调试器 文档:<开发板原理图>,<Cortex M3与M4权威指南>,& ...
- MySQL同步ES的6种方案!
引言 在分布式架构中,MySQL与Elasticsearch(ES)的协同已成为解决高并发查询与复杂检索的标配组合. 然而,如何实现两者间的高效数据同步,是架构设计中绕不开的难题. 这篇文章跟大家一起 ...
- 关于Linux内核自带GPIO LED控制(正点原子开发板呼吸灯的一些小问题)
正点原子Linux开发板IMX6ULL上的呼吸灯如何停止? 学习到驱动开发Linux系统自带的LED驱动控制的时候,才知道,原来该呼吸灯经过设备树配置好之后,直接由Linux内核程序配置为呼吸灯(前提 ...
- C#反射报错之System.Reflection.AmbiguousMatchException:“Ambiguous match found.
.NET6 Type t = typeof(double).GetMethod("TryParse").GetParameters()[1].ParameterType; Cons ...
- C#之线程基础
创建线程 using System; using System.Threading; using System.Threading.Tasks; namespace threadDemo { clas ...