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
递归法
代码随想录二刷 | 链表 | 翻转链表
代码随想录二刷|链表|翻转链表题目描述解题思路&代码实现双指针法
递归法
206.翻转链表题目描述给你单链表的头节点head,请你反转链表,并返回反转后的链表。
方可申别翘二郎腿
·
2023-11-21 19:29
代码随想录二刷
c++
算法
力扣刷题-二叉树-二叉树的高度与深度
示例1:输入:root=[3,9,20,null,null,15,7]输出:3
递归法
本题可以使用前序(中左右),也可以使用后序遍历(左右中),使用前序求的就是深度,使用后序求的是高度。
hxh207
·
2023-11-21 01:51
leetcode刷题
leetcode
python
算法
数据结构
每周 ARTS 第 8 期
1/\22/\/\3443思路:
递归法
:如果同时满足下面的条件,两个树互为镜像:它们的两个根结点具有相同的值;每个树的右子树都与另一个树的左子树镜像对称。
落英坠露
·
2023-11-21 01:53
代码随想录刷题day14
二叉树的递归遍历、迭代遍历、统一迭代
递归法
解决二叉树的前中后序遍历中序遍历代码:题解:想好函数的参数,停止条件,和每一轮的操作有哪些,就可以写
递归法
。
weixin_46499215
·
2023-11-20 19:26
算法
LeetCode - 翻转链表
https://leetcode.cn/problems/fan-zhuan-lian-biao-lcof/
递归法
ListNode*reverseList(ListNode*head){if(head=
_浮生_
·
2023-11-20 06:03
leetcode
链表
leetcode
算法
6.7二叉树的最小深度(LC111)
调试过程:
递归法
#Definitionforabinarytreenode
pig不会cv
·
2023-11-18 19:48
#
6.二叉树
数据结构
6.6二叉树的最大深度(LC104-E)、N叉树的最大深度(LC559-E)
调试过程:
递归法
:原因:node可能为空,我没判
pig不会cv
·
2023-11-18 19:18
#
6.二叉树
算法
数据结构
6.8完全二叉树的节点个数(LC222-E)
递归法
:用什么顺序遍历都可以。比如后序遍历(LRV):不断遍历左右子树的节点数,最后加上根节点的节点数1迭代法:用层序遍历,改一下模版代码就行。
pig不会cv
·
2023-11-18 19:09
#
6.二叉树
数据结构
算法笔记-第九章-树的遍历(未完成-待整理)
top和pop的用法树的先根遍历理解本题思路树的后跟遍历树的层序遍历树的循环队列遍历树的高度树的高度分析题目树的结点层号树遍历的知识点大佬总结的实在是太好了大佬讲解数遍历(遍历树的前序,中序,后序遍历的
递归法
和迭代法
一直爱莲子
·
2023-11-18 18:45
#
算法笔记刷题
算法
笔记
Leetcode 206. 反转链表
思路双指针法:首先定义一个cur指针,指向头节点,在定义一个pre指针,初始化NULL先建立一个临时节点tmp保存cur的下一个节点然后cur->next=prepre=curcur=tmp
递归法
本质上和双指针方法是一致的代码双指针法
luzhoushili
·
2023-11-17 05:15
Algorithm
#
Leetcode
链表
leetcode
数据结构
遍历二叉树(非
递归法
and
递归法
and层次遍历)
递归法
遍历(先序、中序、后序)#include#includetypedefstructBiNode{intdata;structBiNode*right,*left;}BiNode,*BiTree;/
小斯坦丁
·
2023-11-16 20:56
数据结构
数据结构
c语言
【力扣经典题目】
递归法
合并两个升序链表
题目描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输出:[]示例3:输入:l1=[],l2=[0]输出:[0]提示:两个链表的节点数目范围是[0,50]-100valval){list1->next=mergeTwoList
rookieﻬ°
·
2023-11-16 08:40
力扣经典题目
数据结构和算法
链表
leetcode
数据结构
挖坑法,Hoare,非
递归法
实现快速排序
时间:O(N*lgn)->最坏n^2(有序,逆序)空间:logNN*2HoareHoare法与其他快速排序算法的不同之处在于它使用两个指针(分别指向数组的起始位置和结束位置),并通过交换元素的方式来确定基准值的最终位置。具体步骤如下:选择一个基准值,通常是待排序数组的第一个元素。设定两个指针,一个指向数组的起始位置,称为left,另一个指向数组的结束位置,称为right。从right开始,向左移动
sqyaa.
·
2023-11-15 11:59
Java
Java数据结构与算法
算法
数据结构
排序算法
算法训练 第六周
1.
递归法
使用递归的方式来模拟遍历二叉树的过程,按照左头右的顺序进行,递归终止条件为遇到空节点,具体代码如下:/***Definitionforabinarytreenode.
啊哈哈~~
·
2023-11-14 22:04
算法
Java 算法篇-深入了解单链表的反转(实现:用 5 种方式来具体实现)
CSDN博客❤感谢大家点赞收藏⭐评论✍文章目录1.0单链表的反转说明2.0单链表的创建3.0实现单链表反转的五种方法3.1实现单链表反转-循环复制(迭代法)3.2实现单链表反转-头插法3.3实现单链表反转-
递归法
小扳
·
2023-11-14 02:29
算法
java
力扣.206剑24.反转链表+92.反转从位置m到n的链表
非
递归法
'''输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL'''classListNode(object):def__init__(self,x):self.val
NLP_victor
·
2023-11-13 23:17
牛客
LinkedList
剑指offer
链表
代码随想录算法训练营第二十一天 | 530. 二叉搜索树的最小绝对差,501. 二叉搜索树中的众数,236. 二叉树的最近公共祖先
全局的指针变量不变,递归的指针变量被回溯到了上一个思路:
递归法
Tri3
·
2023-11-13 19:13
算法
二叉搜索树的属性-代码随想录-刷题笔记
700.二叉搜索树中的搜索
递归法
二叉搜索树是一个有序树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树很多人写递归函数的时候习惯直接写
Wind哥
·
2023-11-13 15:13
笔记
算法
数据结构
leetcode
c++
算法必备—动态规划详解,从递归到动态规划
动态规划文章目录动态规划1.机器人走路问题解法1:
递归法
解法2:动态规划2.背包问题解法1:暴力
递归法
2.动态规划动态规划作为经典的算法,在使用上现在十分广泛,机器人走路问题、背包问题、八皇后问题,可以说是用的地方十分广泛
牧码文
·
2023-11-12 22:52
数据结构
算法
动态规划
java
LeetCode 110.Balanced Binary Tree (平衡二叉树)
ACC++Solution:
递归法
:对每个
amoscykl
·
2023-11-11 22:07
Leetcode
Leetcode
(C++解题报告)
LeetCode
C
110
Balanced
Binary
Tree
平衡二叉树
算法通关村第八关青铜挑战——轻松搞定二叉树里的双指针
要遍历,这里就选择
递归法
实现的前序遍历吧,why?因为递归遍历实现起来代码比较少吧
怒码少年
·
2023-11-11 20:25
算法学习
算法
c++
数据结构
6.4翻转二叉树(LC226—送分题,前序遍历)
建议拿纸画一画,就理解了注意:是指针进行交换,交换的是左右孩子,然后里面的值再交换首先使用
递归法
,代码简单:调试过程:原因:root没
pig不会cv
·
2023-11-11 11:47
#
6.二叉树
算法
数据结构
6.2二叉树的迭代遍历(LC144,LC145,LC94-E)
所以,使用栈也可以实现二叉树的前后中序遍历然而,使用迭代法实现先中后序遍历,很难写出统一的代码(中序和先序后序很不一样),不像是
递归法
,实现了其中的一种遍历方式,其他两种只要稍稍改一下节点顺序就可以了。
pig不会cv
·
2023-11-11 11:47
#
6.二叉树
数据结构
算法
算法题-将字符串(都为数字)删除n个字符,剩下的数字最小-python
递归法
文章目录前言一、将字符串删除n个字符,剩下的数字最小-python
递归法
前言一、将字符串删除n个字符,剩下的数字最小-python
递归法
算法题有一个字符串s,仅有数字组成,现在将字符串的删除n个字符,使得剩下的字符组成的数字最小
yanhh_666
·
2023-11-11 07:22
算法
算法
c语言整数分解
递归法
,正整数分解程序(递归版)
#include#include#include#include#defineM100typedefunsignedintUINT;UINTqueue[M+1]={0};intp(UINTn,UINTm,UINTpos);UINTcnt=0;intmain(){UINTn,pos;printf("=========正整数分解程序(递归版)===/n");printf("输入正整数n,本程序将把它分
weixin_39867066
·
2023-11-09 23:38
c语言整数分解递归法
链表练习题1
2.1思路1:直接使用三个指针反转(迭代)2.2思路2:头插法(迭代)(此处的头不创建新结点)2.3思路3:
递归法
3.给定一个带有头结点head的非空单链表,返回链表的中间结点。
ScarboroughFair#
·
2023-11-08 00:25
数据结构初阶
链表
数据结构
代码随想录算法训练营第十四天| 144. 二叉树的前序遍历、94. 二叉树的中序遍历、145. 二叉树的后序遍历。
示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]总结:树的前中后序遍历,采用
递归法
,要分为三部走,1.
玩复杂点
·
2023-11-07 20:28
算法
java
代码随想录算法训练营第十四天| LeetCode144. 二叉树的前序遍历 94. 二叉树的中序遍历145.二叉树的后序遍历
144.二叉树的前序遍历题目:144.二叉树的前序遍历//
递归法
classSolution{public:voidpreorder(TreeNode*cur,vector&ans){if(cur==nullptr
冰冰的coco
·
2023-11-07 19:22
代码随想录算法训练营
算法
leetcode
二叉树
代码随想录算法训练营第十四天|144. 二叉树的前序遍历 145. 二叉树的后序遍历 94. 二叉树的中序遍历
144.二叉树的前序遍历
递归法
:注意vec地址传递迭代法:先将根节点入栈,在栈不为空时进行迭代:处理栈顶值存入结果数组,若该节点有右节点则存入栈,若有左节点则存入栈,依次循环。
m0_58067179
·
2023-11-07 19:20
算法
数据结构
c++
常见排序方法详细介绍
SelectionSort)介绍优点工作原理代码实现插入排序(InsertionSort)介绍工作原理代码实现希尔排序(ShellSort)介绍工作原理代码实现归并排序(MergeSort)介绍工作原理
递归法
Ehhswih
·
2023-11-07 10:27
排序
快速排序
归并排序
堆排序
桶排序
详细讲解算法的时空复杂度
目录算法的时空复杂度算法效率时间复杂度概念常见的时间复杂度大O的渐进表示方法推导大O阶的方法:最好、最坏、平均复杂度冒泡排序的时间复杂度二分法查找的时间复杂度递归的时间复杂度
递归法
求斐波那契数的时间复杂度空间复杂度冒泡排序的空间复杂度递归的空间复杂度
递归法
求斐波那契数的空间复杂度算法的时空复杂度算法效率衡量一个算法的好坏
微笑的高圆圆圆圆
·
2023-11-07 06:44
C数据结构
算法
数据结构
c语言
移除链表元素(
递归法
、设置虚拟头节点法等3种方法)Java实现创建链表与解析链表
1、算法思路讲一下设置虚拟头节点的那个方法,设置一个新节点指向原来链表的头节点,这样我们就可以通过判断链表的当前节点的后继节点值是不是目标删除值,来判断是否删除这个后继节点了。如果不设置虚拟头节点,则需要将头节点和后面的节点分开来讨论,代码会复杂一点。2、Java代码实现packagelistnodes;//Definitionforsingly-linkedlist.classListNode{
我有明珠一颗
·
2023-11-06 17:31
数据结构与算法
leetcode&牛客
Java精修
leetcode
算法
链表
移除链表元素
递归
虚拟头节点
【D5】二叉树的中序遍历 & 二叉树展开为链表 & 填充每个节点的下一个右侧节点指针 (LC 94&114&116)
代码实现1-
递归法
classSolution{publicListinorderTraversal(TreeNoderoot){Listres=newArrayList();inorder(root,res
sirenyunpan
·
2023-11-06 10:28
2018-11-19LeetCode 339 打家劫舍3
递归法
解决:分别讨论是否包含还是不包含root的情况,然后通过回溯法解决。具体代码如下:/***Definitionforabinarytreenode.
北子萌
·
2023-11-06 01:22
leetcode-hot链表专题——206. 反转链表
206.反转链表
递归法
ListNode*reverse(ListNode*pre,ListNode*cur){if(cur==NULL)returnpre;ListNode*next=cur->next
chstor
·
2023-11-05 15:22
leetcode题目
链表
leetcode
数据结构
二叉树遍历算法C++实现
先序遍历先来看
递归法
://先序遍历递归实现算法template//元素类型、操作器voidtraverse(BinNodePosi(T)x,VST&visit){if(!
zpznba
·
2023-11-04 08:12
数据结构和算法
数据结构和算法
LeetCode算法题型
文章目录动态规划贪心策略快慢指针(双指针法)回溯法
递归法
快乘法幂乘法滑动窗口哈希表二分查找深度优先搜索DFS广度优先搜索(BFS)单调栈二分查找分治法前缀和亦或问题与&的问题区间和解决方案哈希表Set表排序动态规划取决于该问题是否能用动态规划解决的是这些
sendoh24
·
2023-11-04 02:25
LeetCode
算法
二叉树的最小深度 Minimum Depth of Binary Tree - Python
递归法
#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defminDepth(self,root:Optional[TreeNode])->int:ifn
princey2100
·
2023-11-04 02:24
力扣
Leetcode刷题
二叉树
leetcode
算法
二叉树
代码随想录算法训练营第18天 | 513.找树左下角的值、112. 路径总和 、113.路径总和ii、106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树
递归法
:
递归法
有点难理解。使用前序遍历,深度最大的就是最后一行。记录深度最大的叶子节点,此时就是树的最后一行最
Jack199274
·
2023-11-03 05:17
数据结构和算法
算法
数据结构
代码随想录算法训练营第14天 | 二叉树的递归遍历和迭代遍历
前序遍历(
递归法
,迭代法)中序遍历(
递归法
,迭代法)后序遍历(
递归法
,迭代法)广度优先遍历:层序遍历,使用队列的结构。层次遍历(迭代法)中间节点的顺序就是所谓的遍历方式。
Jack199274
·
2023-11-03 05:47
数据结构和算法
算法
数据结构
代码随想录算法训练营第二十三天 | 669. 修剪二叉搜索树|108.将有序数组转换为二叉搜索树|538.把二叉搜索树转换为累加树
669.修剪二叉搜索树题解及想法使用中序
递归法
当root的元素小于low的数值,那么应该递归右子树,并返回右子树符合条件的头结点。
音箱蟀侠二号
·
2023-11-03 04:46
算法
leetcode
数据结构
【leetcode】斐波那契数与爬楼梯--动态规划
一、力扣509.斐波那契数题目如图:
递归法
就不写了,时间复杂度为O(2^N)动态规划解法:首先,状态转移方程直接就可以确定:dp[i]=dp[i-1]+dp[i-2]初始化条件为:dp[0]=0,dp[
鱼在树上飞
·
2023-11-03 03:29
算法学习
算法
面试
力扣
数据结构
java数据结构和算法(07)斐波那契数列
完成如下代码:publicclassSolution{publicintFibonacci(intn){}}思路:比较简单,典型的
递归法
代码publicclassSolution{publicintFibonacci
ngu2008
·
2023-11-02 14:14
算法学习打卡day4|合并两个有序链表、合并k个有序链表、19.删除链表的倒数第N个节点、寻找单链表的中点、链表相交、142.环形链表II
示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输出:[]思路:两种方法:迭代法和
递归法
迭代法:建立一个虚拟头节点,两个链表同时遍历
涛涛begin
·
2023-11-01 20:01
算法学习打卡
算法
学习
链表
70.爬楼梯
思路1:倒推法【
递归法
】假设有5阶台阶,那么我用倒推的方法可以知道,我要么前一步是爬了
365JHWZGo
·
2023-11-01 03:32
动态规划
算法
矩阵乘法的三种算法(蛮力嵌套循环法,分治
递归法
,Strassen法)
目录一.矩阵乘法的嵌套循环算法二.矩阵乘法的递归算法三.矩阵乘法的Strassen算法一.矩阵乘法的嵌套循环算法伪代码:C++代码://1.矩阵乘法的嵌套循环算法#includeusingnamespacestd;voidSquare_MA_MU(inta[][3],intb[][3],intc[][3],intn)//传递二维数组参数时必须要确定列数{for(inti=0;iusingnames
GodFishhh
·
2023-11-01 03:07
算法导论
算法
算法
判断二叉树是否AVL树
一、算法思想:
递归法
判断一个二叉树是否平衡二叉树(AVL树),可以根据它的定义写出代码:(1)空树是一个AVL树;(2)只有一个根结点的树是一个AVL树;(2)左子树是一颗AVL树,且右子树是一个AVL
EverydayIsLife
·
2023-10-30 18:31
树
二叉树
递归
平衡二叉树
AVL树
【刷题笔记day4】链表进阶题目练习
例如:Input:head=[1,2,3,4]→Output:[2,1,4,3]本题有两种解法:迭代法和
递归法
。
轰车车
·
2023-10-28 00:43
LeetCode刷题笔记
代码随想录算法训练营第三天| 203.移除链表元素 707.设计链表 206.反转链表
目录203.移除链表元素1、直接使用原来的链表来进行删除操作2、设置一个虚拟头结点在进行删除操作707.设计链表206.反转链表1、双指针法:2、
递归法
:203.移除链表元素题目:Leetcode移除链表元素文档
折纸_ORI
·
2023-10-28 00:27
代码随想录训练营
算法
链表
数据结构
leetcode
两两交换链表中的节点(C++
递归法
实现)
1.描述给一个链表,两两交换其中的节点,然后返回交换后的链表。样例样例1:输入:1->2->3->4->null输出:2->1->4->3->null样例2:输入:5->null输出:5->null2.代码ListNode*swapPairs(ListNode*head){if(!head)returnNULL;if(!head->next)returnhead;ListNode*temp=hea
stay_the_course
·
2023-10-26 14:40
从零开始写算法
Lintcode
451
两两交换链表中的节点
上一页
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
其他