E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
快慢指针
深入链表的遍历——
快慢指针
算法(LeetCode——876题)
今天我们一起来学习一下一个快速遍历链表的方法我们先来看看一道经典的需要遍历链表的题目(题目来自LeetCode)876.链表的中间结点https://leetcode.cn/problems/middle-of-the-linked-list/给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。普通方法publicListNodemiddleNode
欺霜
·
2024-09-14 23:34
链表
算法
java
[M二叉树] lc235. 二叉搜索树的最近公共祖先(dfs+二叉搜索树)
文章目录1.题目来源2.题目解析1.题目来源链接:235.二叉搜索树的最近公共祖先题单:【题单】链表、二叉树与一般树(前后指针/
快慢指针
/DFS/BFS/直径/LCA)二、二叉树§2.8最近公共祖先2.
Ypuyu
·
2024-09-03 05:38
LeetCode
算法
leetcode
[M二叉树] lc236. 二叉树的最近公共祖先(dfs+二叉搜索树)
文章目录1.题目来源2.题目解析1.题目来源链接:236.二叉树的最近公共祖先相似题:[M二叉树]lc235.二叉搜索树的最近公共祖先(dfs+二叉搜索树)题单:【题单】链表、二叉树与一般树(前后指针/
快慢指针
Ypuyu
·
2024-09-03 05:38
LeetCode
算法
leetcode
[M二叉树] lc199. 二叉树的右视图(dfs+自顶向下+好题)
文章目录1.题目来源2.题目解析1.题目来源链接:199.二叉树的右视图题单:链表、二叉树与一般树(前后指针/
快慢指针
/DFS/BFS/直径/LCA)§2.2自顶向下DFS§2.13BFS2.题目解析思路
Ypuyu
·
2024-09-03 05:33
LeetCode
深度优先
算法
[E二叉树] lc110. 平衡二叉树(dfs+自底向上)
文章目录1.题目来源2.题目解析1.题目来源链接:110.平衡二叉树题单:链表、二叉树与一般树(前后指针/
快慢指针
/DFS/BFS/直径/LCA)§2.3自底向上DFS2.题目解析思路:记录每个节点的左右子树的高度
Ypuyu
·
2024-09-01 08:24
LeetCode
深度优先
算法
单链表——环形链表II
方法一难想,但代码容易实现根据第一道环形链表的题目我们可以得知
快慢指针
相交的节点,但是如果想要知道进入环形链表的第一个节点,我们就还需要定义一个指针从链表的头节点开始,与相交的节点同时行走,当两个节点重合时重合的那个节点就是环形链表的第一个节点
Cancan2004
·
2024-08-30 02:02
#算法题目讲解#
链表
数据结构
leetcode
leetcode 142.环形链表II
思路:双指针+哈希表双指针这里的类型是
快慢指针
,前面也说过,常用于查找链表的中点或者判断有无环的应用。首先用
快慢指针
一个走一个结点,一个走两个结点,判断这个链表有无环?
是小Y啦
·
2024-08-29 08:37
leetcode
链表
算法
c++实现单链表的最全的超详细的20种方法
(第i个节点的数据域或者数据域为某个特定值的节点),有顺序的合并两个链表,无顺序的合并两个链表,插入,删除,逆置链表,就地逆置链表求链表的节点个数,删除数据域重复的节点,输出链表,判空,置空链表,使用
快慢指针
高效找到中间节点
weixin_47373497
·
2024-03-15 10:38
数据结构
单链表
指针
数据结构
单链表
c++
LeetCode.148.排序链表(自顶向下递归,自底向上)
空间复杂度主要取决于递归调用的栈空间找到链表的中间位置(
快慢指针
)对左边一般进行排序,对右边一半进行排序合并两个有序的子链表代码实现C++:classSolution{publ
头发没了还会再长
·
2024-03-02 01:41
leetcode
链表
算法
递归
归并排序
leetcode 148. 排序链表 java解法
解题方法首先,使用
快慢指针
找到链表的中间节点,将链表分成两部分。然后,递归地对两个子链表进行排序。最后,合并两个有序的子链表。
程序员阿伦
·
2024-02-20 19:06
leetcode
链表
java
代码随想录算法训练营Day1 | 数组p1
文章目录前言一、数组理论基础二、(704.)二分查找区间的影响三、(27.)移除元素1.暴力解法2.双指针法(
快慢指针
法)前言数组是最基础的几个数据结构之一,要了解并掌握一种数据结构,学习它的存储方式以及逻辑结构
Dear_Candy
·
2024-02-20 15:09
算法
算法-链表操作
偶数长度返回上中点2)输入链表头节点,奇数长度返回中点,偶数长度返回下中点3)输入链表头节点,奇数长度返回中点前一个,偶数长度返回上中点前一个4)输入链表头节点,奇数长度返回中点前一个,偶数长度返回下中点前一个思路:
快慢指针
Arthur3827
·
2024-02-20 15:08
算法
算法
链表
java
龟兔赛跑算法
二、解析解决这个问题的一种有效方法是使用
快慢指针
,也称为龟兔赛跑算法(Floyd'sCycleDetectionAlgorithm)。
码农一指
·
2024-02-20 15:35
ACWING每日一题
算法
leetcode 21.合并两个有序链表
⭐️往期相关文章链接1:链表中倒数第k个结点(
快慢指针
问题)链接2:leetcode876.链表的中间结点(
快慢指针
问题)链接3:leetcode206.反转链表链接4:leetcode203.移除链表元素链接
cccyi7
·
2024-02-20 12:03
链表OJ
leetcode
链表
算法
学习
代码随想录 --链表
文章目录移除链表元素题目描述题解设计链表题目描述题解翻转链表题目描述题解两两交换链表中的节点题目描述题解删除链表的倒数第N个节点题目描述题解:暴力题解:双指针(
快慢指针
)链表相交题目描述题解环形链表II
yb0os1
·
2024-02-20 03:58
数据结构与算法
C++
链表
数据结构
c++
leetcode刷题记录 1.1 链表
di-ling-zh-bfe1b/shuang-zhi-0f7cc/链表Checklist如果要创造一个新表,用dummy指针避免空指针的处理情况,代码更简洁分割链表:记得断开原链表的next,否则结果有环
快慢指针
应用倒数第
小新0077
·
2024-02-20 03:40
2024算法工程师求职
leetcode
链表
linux
数据结构-双指针法
常见的双指针法有1.
快慢指针
:快指针每次移动两步,慢指针移动一步,用于判断链表是否有环或者找到链表中间结点等;2.左右指针:左指针指向数组开头,右指针指向结尾,用于解决二分查找、两数之和等等;3.滑动窗口
四零七丶
·
2024-02-20 00:25
算法
数据结构
算法学习:双指针进阶之滑动窗口算法
在滑动窗口算法中,可以使用左右指针来记录窗口的左右边界,以及使用
快慢指针
来同时从两端向中间遍历数据流,从而加速算法的执行效率。
2301_76884895
·
2024-02-19 22:27
算法
leetcode
数据结构
Leetcode刷题——数组双指针
如果两个指针方向相同,则称为「
快慢指针
」。如果两个指针分别属于不同的数组/链表,则称为「分离双指针」。滑动窗口(SlidingWindow):在给定数组/字符串上维护一个固
Mito445
·
2024-02-19 15:25
leetcode
算法
矩阵
双指针部分典型算法(三)
通常我们会想到双指针,这里要用的也是双指针,但不同于
快慢指针
和对撞指针,它是一个同向的双指针,用left和ri
liaolaa
·
2024-02-15 08:44
算法
c++
leetcode
双指针部分典型算法题(一)
对于一些问题我们一般可以通过
快慢指针
,或对撞指针来解决问题。
liaolaa
·
2024-02-15 08:43
算法
c++
leetcode142. 环形链表 II
leetcode142.环形链表II题目思路集合法将节点存入set,若重复出现则说明是环
快慢指针
法分别定义fast和slow指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点
lanlinbuaa
·
2024-02-15 02:36
链表
数据结构
秋招-数据结构-链表篇
技巧可以使用
快慢指针
来解决一些循环、遍历等问题,也可以借助PriorityQueue优先级队列,最小堆等其他结
正如此时
·
2024-02-14 22:06
秋招
链表
数据结构
Python算法题集_排序链表
Python算法题集_排序链表题148:排序链表1.示例说明2.题目解析-题意分解-优化思路-测量工具3.代码展开1)标准求解【冒泡大法】2)改进版一【列表排序】3)改进版二【数值归并排序】4)改进版三【
快慢指针
归并排序
长孤秋落
·
2024-02-14 08:39
Python
python
算法
链表
leetcode
排序算法
力扣算法训练_移动零(JAVA)
题目这道题利用的是
快慢指针
方法,因为不需要排序所以快指针只用往前遍历,只要不遍历到零时,用慢指针进行装载。代码
为你千千万万遍的哈桑
·
2024-02-13 16:23
算法
java
链表相交_双指针法_java
令指向更长链表的指针为快指针,另一个为慢指针快指针先行n步(n为链表A,B的长度之差)同时移动
快慢指针
若两个指针指向了相同结点则返回该结点否则返回空指针代码实现/***Definitionforsi
xiaoAi 123
·
2024-02-13 11:20
leetcode
链表
java
leetcode
算法
2020年6月 leetcode每日一题 C语言版本
递归快速乘3新21点递归超时动态规划4除自身以外数组的乘积5顺时针打印矩阵6最长连续序列哈希并查集7等式方程的可满足性并查集8把数字翻译成字符串动态规划9回文数转化为数组反转一半数字厉害10回文链表翻转链表+
快慢指针
翻转链表
Churkina_洛
·
2024-02-13 01:42
Leetcode题目记录------判断环形链表
主要有两种方法,利用哈希表存储和
快慢指针
方法,
快慢指针
方法占用内存较少且泛用性较高,故在此记录。
Elvenleglas
·
2024-02-13 00:28
题目记录
leetcode
牛客周赛 Round 8 解题报告 | 珂学家 | 构造 + 树形DP
题解|#牛牛队列成环#本题知识点分析:1.链表前驱结点和后继结点2.链表遍历3.
快慢指针
本题解题思路分析:1.利用慢指针走一步,快指针走两步2.遍历同时判断两个指针的值是否相等,如果题解|#草原上的牛群
huaxinjiayou
·
2024-02-12 18:47
java
LeetCode 力扣 80. 删除排序数组中的重复项 II
解法一
快慢指针
利用26题的思想,慢指针指向满足条件的数字的末尾,快指针遍历原数组。并且用一个变量记录当前末尾数字出现了几次,防止超过两次。publicintremo
windliang
·
2024-02-12 13:25
Go语言每日一练——链表篇(八)
传送门牛客面试笔试必刷101题----------------两个链表的第一个公共结点题目以及解析题目解题代码及解析解析这一道题使用的还是双指针算法,我们先求出两个链表的长度差n,然后定义
快慢指针
,让快指针先走
落雨便归尘
·
2024-02-11 01:58
Go语言每日一题
golang
链表
开发语言
数据结构
算法
leetcode环形链表
=nil{ifhas:=set[cur];has{returntrue}else{set[cur]=true}cur=cur.Next}returnfalse}解法二:
快慢指针
若链表为空或者链表只有一个节点
来深圳
·
2024-02-10 18:15
#
leetcode
#
Go语言
链表
leetcode
Leecode之环形链表
leetcode.cn/problems/linked-list-cycle/description/这道题就是去判断一个链表是否带环,分两种情况,链表中只有一个元素则一定不带环,链表中有两个及以上的元素则要引入
快慢指针
二
一枕眠秋雨>o<
·
2024-02-10 18:44
数据结构与算法题集
链表
数据结构
Leecode之环形链表进阶
problems/linked-list-cycle-ii/description/这道题就是找到链表中环的入口二.思路引入假设起点到环的入口的距离为L,环的长度为C,入口到相遇点的距离为C-N设定一个
快慢指针
一枕眠秋雨>o<
·
2024-02-10 18:13
链表
数据结构
Python算法题集_删除链表的倒数第 N 个结点
Python算法题集_删除链表的倒数第N个结点题19:删除链表的倒数第N个结点1.示例说明2.题目解析-题意分解-优化思路-测量工具3.代码展开1)标准求解【二次遍历】2)改进版一【
快慢指针
】3)改进版二
长孤秋落
·
2024-02-10 16:59
Python
python
算法
链表
leetcode
链表删除
Go语言每日一题——链表篇(七)
传送门牛客面试笔试必刷101题----------------删除链表的倒数第n个节点题目以及解析题目解题代码及解析解析这一道题与昨天的题目在解题思路上有一定的相似之处,都是基于双指针定义
快慢指针
,这里我们让快指针先走
落雨便归尘
·
2024-02-10 15:40
Go语言每日一题
golang
链表
开发语言
算法
数据结构
力扣热题100_双指针_283_移动零
示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]示例2:输入:nums=[0]输出:[0]解题思路1.
快慢指针
slow、fast都初始化为0;2.若fast值小于nums长度
you_are_my_sunshine*
·
2024-02-10 06:04
力扣
leetcode
算法
挑选子串#蓝桥杯
includeusingnamespacestd;/*双指针适用于快速查找,匹配,排序或移动操作(并非用指针实现,是用两个变量表示下标操作)(1)对撞指针:left和right指针同时移动一个向右,一个向左,相遇时跳出循环(2)
快慢指针
席万里
·
2024-02-08 15:49
C/C++备战蓝桥杯
蓝桥杯
c++
算法
数据结构
算法之双指针系列1
目录一:双指针的介绍1:
快慢指针
2:对撞指针二:对撞指针例题讲述一:双指针的介绍在做题中常用两种指针,分别为对撞指针与
快慢指针
。
大鹏蓄力中
·
2024-02-08 11:04
算法
c++
leetcode-移动零
283.移动零题解:使用双指针法(
快慢指针
),快指针指向的数字不为0的时候,将这个数字移到慢指针的地方,最后在后面补0即可classSolution:defmoveZeroes(self,nums:List
独孤--蝴蝶
·
2024-02-08 06:13
leetcode
【数据结构】链表OJ面试题3(题库+解析)
力扣(LeetCode)官网-全球极客挚爱的技术成长平台思路
快慢指针
,即慢指针一次走一步,快指针一次走两步,两个指针从链表其实位置开始运行,如果链表带环则一定会在环中相遇,否则快指针率先走到链
CatShitK
·
2024-02-08 04:14
数据结构
数据结构
链表
microsoft
c++
c语言
力扣回文链表
所以利用
快慢指针
找到中间位置。然
dayday学习
·
2024-02-07 23:51
领扣刷题
力扣回文链表
【力扣】快乐数,哈希集合+
快慢指针
+数学
快乐数原题地址方法一:哈希集合定义函数getNext(n),返回n的所有位的平方和。一直执行n=getNext(n),最终只有2种可能:n停留在1。无限循环且不为1。证明:情况1是存在的,如力扣的示例一:接下来只需证明,反复执行getNext操作,最终一定会无限循环(停留在1可以理解为无限的1->1循环)。分类讨论:n的位数小于等于3,那么getNext(n)hashtable;while(n!=
努力学习游泳的鱼
·
2024-02-07 19:39
leetcode
哈希算法
算法
LeetCode:26.删除有序数组中的重复项
26.删除有序数组中的重复项-力扣(LeetCode)目录题目:思路:代码+注释:每日表情包:题目:思路:没啥特殊的,老老实实双指针遍历数组,(
快慢指针
)代码+注释:由于是遍历原地(双指针)所以时O(n
nainaire
·
2024-02-07 10:09
leetcode
算法
c语言
力扣 141 环形链表: 哈希表判断 和
快慢指针
给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。哈希表思路:遍历所有节点,每次遍历到一个节点
风的语言_
·
2024-02-07 08:36
LeetCode
leetcode力扣 141 环形链表
快慢指针
如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。
阿芙乐尔qq
·
2024-02-07 08:58
leetcode
链表
算法
LeetCode-第876题-链表的中间结点
2.样例描述3.思路描述创建两个
快慢指针
slow,fast,起始共同指向头节点,slow每次走一步,fast每次走两步,当fast为空或fast的下一个结点为空时,slow即是中间节点的位置。
果蛋蛋
·
2024-02-06 18:50
LeetCode
leetcode
链表
算法
java
LeetCode Hot100 回顾(三)
链表141.环形链表
快慢指针
一直走,如果走到某一时刻
快慢指针
指向内容相等了,说明有环。
9ack!?
·
2024-02-06 17:48
leetcode
算法
职场和发展
leetcode 148 python 排序链表
示例1:输入:4->2->1->3输出:1->2->3->4示例2:输入:-1->5->3->4->0输出:-1->0->3->4->5思路使用归并思想,用
快慢指针
找到链表中间节点,分成左右两段,再分,
慧鑫coming
·
2024-02-06 07:09
LeetCode 109. 有序链表转换二叉搜索树 题解+测试 C/C++
主要思路构造平衡的二叉搜索树:首先使用
快慢指针
法找到中位数,作为根节点,然后递归构造左子树与右子树#include#includeusingnamespacestd;#includestructListNode
【止心】
·
2024-02-05 21:05
LeetCode
链表
二叉搜索树
中位数
c++
算法
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他