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
力扣递归算法题
力扣
:二叉树的遍历java
力扣
:二叉树的遍历java遍历二叉树分两类:广度优先遍历(按层遍历),深度优先遍历(先中后序遍历),此文章为深度优先遍历,下一章为广度优先遍历。遍历方法有两种:
递归
,迭代。
秃小弟
·
2024-02-20 19:59
java
leetcode
算法
力扣
二叉树中序遍历 (非
递归
) Python
#Definitionforabinarytreenode.#classTreeNode(object):#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=right测试系统已经定义好了结点,结点值是int类型,如果没有L/R,其值为None而不是样例给的null我的想法大致流
荷碧TongZJ
·
2024-02-20 19:59
数据结构与算法
leetcode
算法
python
b树
力扣
144 二叉树的前序遍历 Java版本
文章目录题目描述
递归
方法代码非
递归
方法代码题目描述给你二叉树的根节点root,返回它节点值的前序遍历。
远山凛凛
·
2024-02-20 19:29
LeetCode
leetcode
java
算法
力扣
145 二叉树的后序遍历 Java版本
文章目录题目描述
递归
解法代码非
递归
解法思路代码题目描述给你一棵二叉树的根节点root,返回其节点值的后序遍历。
远山凛凛
·
2024-02-20 19:29
LeetCode
leetcode
java
算法
力扣
347 前k个高频元素 Java版本
文章目录题目描述解题思路代码题目描述给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。示例1:输入:nums=[1,1,1,2,2,3],k=2输出:[1,2]示例2:输入:nums=[1],k=1输出:[1]提示:1pq=newPriorityQueueo1[1]-o2[1]);int[]res=newint[k];//最终答案数组的大小为k//统
远山凛凛
·
2024-02-20 19:28
LeetCode
leetcode
java
算法
力扣
热门100题——二叉树的中序遍历(
递归
,迭代,Morris 中序遍历)
7、二叉树的中序遍历1.问题描述给定一个二叉树的根节点root,返回它的中序遍历。2.示例示例1:输入:root=[1,null,2,3]输出:[1,3,2]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]3.提示树中节点数目在范围[0,100]内-100inorderTraversal(TreeNoderoot){Listres=newArrayListres){
humor2020
·
2024-02-20 19:58
力扣刷题
java
力扣
算法
力扣
94 二叉树的中序遍历 (Java版本)
递归
、非
递归
文章目录题目描述
递归
解法非
递归
解法题目描述给定一个二叉树的根节点root,返回它的中序遍历。
远山凛凛
·
2024-02-20 19:57
LeetCode
leetcode
java
leetcode 77 组合-回溯加剪枝
首先我们分析
递归
函数的参数,需要一个pos来表示当前选取了多少个数,同时还需要一个参数curr来表示当前是对1…n中的哪个数进行操作,对于每个curr都可以有选和不选两种选择,分别
递归
下去即可
伟伟伟伟~
·
2024-02-20 19:44
leetcode刷题
剪枝
算法
java
leetcode(
力扣
) 77. 组合(回溯 & 剪枝-----清晰图解+回溯套路模板)
文章目录题目描述思路分析完整代码优化(剪枝);完整代码题目描述给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。示例1:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例2:输入:n=1,k=1输出:[[1]]思路分析一道回溯经典应用题。题目要求的是组合不是排列,也就是[1,2][2,1]是一个答案,别
深度不学习!!
·
2024-02-20 19:43
个人笔记
交流学习
python
leetcode
1024程序员节
LeetCode77—组合(java版)
代码:思路分析:1、确定
递归
结束条件,path.size==k2、确定从左到右遍历,需要开始下标startIndex3、确定从上到下遍历,需要
递归
操作4、确定回溯条件,需要清除path里的元素这里需要注意的一点是不能写成
陈粑粑的小白鞋
·
2024-02-20 19:43
LeetCode
leetcode
【C#】约瑟夫原理举例2个代码实现
目录前言原理实现
递归
方法循环队列值不同相关文章前言上篇文章有讲到扑克牌魔术,经过了解,使用了约瑟夫原理。处于好奇了解了下基本概念以及通
全栈小5
·
2024-02-20 19:12
C#
c#
开发语言
LeetCode 77. 组合 回溯算法+剪枝
startIndex记录下一层
递归
搜索的起始位置。终止条件:当到达叶子节点,即pathTop==k时,result收集path,return。单层搜索过程。处理节点、
递归
函数、回溯操作。
迷途小羔羊。
·
2024-02-20 19:11
LeetCode
算法
leetcode
c语言
回溯
组合
leetcode 77 组合
原题链接首先要定义结果集合res和判断集合长度的队列path,写终止条件,然后进入
递归
函数,最后返回结果集res
递归
函数部分:首先写终止条件,在什么条件下将结果集进行保存?
baj001
·
2024-02-20 19:39
回溯
leetcode
深度优先
算法
Leetcode 77. 组合(Java实现 超详细注释!)
Leetcode77.组合回溯算法的入坑题,其实本质就
递归
暴力搜索+回退,我觉得这道题最难的点在于怎么剪枝(我其实在文中说的也不是很清楚,后面理解透了会回来补充完善!
Println30
·
2024-02-20 19:39
Leetcode
leetcode
leetcode77组合 剪枝条件详细解释
题目:77.组合-
力扣
(LeetCode)题解:
力扣
(LeetCode)官网-全球极客挚爱的技术成长平台思路来自代码随想录:带你学透回溯算法-组合问题(对应
力扣
题目:77.组合)|回溯法精讲!
猫鱼Ω
·
2024-02-20 19:07
leetcode刷题笔记
剪枝
算法
回溯
代码随想录
杂题——字符串——试题 算法训练 二元函数
分析:关键在于,如果处理输入的字符串成表达式字符串分三种情况:如果S中只包含一个整数,则该整数就是表达式S的值;如果S中包含f函数,则
递归
计算f函数的参数,并将计算结果代入f函数中计算;如果S中包含括号
戏拈秃笔
·
2024-02-20 19:06
数据结构与算法(java版)
算法
ftplib 下载文件夹-Python语言
你需要
递归
地列出目录中的所有文件和子目录,然后逐个下载。
十启树
·
2024-02-20 19:29
python技术
python
服务器
linux
代码随想录算法训练营第16天|● 104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
以下用后序遍历求深度,每层
递归
返回左右子树最大的高度加上本身(当前根节点)的高度.代码:intgetdepth(TreeNode*node){if(node==nullptr)return0;intleftdepth
strive340
·
2024-02-20 18:38
算法
数据结构
代码随想录算法训练营第18天|● 513.找树左下角的值● 112. 路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
513.找树左下角的值思路(
递归
):题意是找树的最后一行,最左边的值,所以不一定该节点是左孩子,也有可能是右孩子。本题不需要中的处理过程,所以前中后序遍历都可以,因为只需要左右的遍历顺序即可。
strive340
·
2024-02-20 18:08
算法
数据结构
代码随想录算法训练营第19天|654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树
654.最大二叉树代码思路:构造二叉树一般都用前序遍历,中左右,可以优先处理构造中节点,再
递归
构造左右子树。题解分步:第一步.找到该数组中最大的元素,并记录其数组下标(方便分割数组),也是切割点。
strive340
·
2024-02-20 18:05
算法
数据结构
java
【18】只出现一次的数字
来源:
力扣
(LeetCode)链接:https://leetcode-cn.com/problems/single-number/题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次
公孙剑人
·
2024-02-20 18:21
二叉树的先序、中序、后序、层序遍历方式详解,由遍历序列构造二叉树过程详解以及C++代码详细实现
由二叉树的
递归
定义可知,遍历一棵二叉树便要决定对根结点N{\rmN}N、左子树L{\rmL}L和右子树R
诗之本秋穂
·
2024-02-20 18:28
数据结构笔记
c++
算法
数据结构
Python
算法题
集_从前序与中序遍历序列构造二叉树
Python
算法题
集_从前序与中序遍历序列构造二叉树题105:从前序与中序遍历序列构造二叉树1.示例说明2.题目解析-题意分解-优化思路-测量工具3.代码展开1)标准求解【先序生成+中序定位+
递归
】2
长孤秋落
·
2024-02-20 16:40
Python
python
算法
leetcode
力扣
先序遍历
中序遍历
二叉树
二叉树展开为链表
Python
算法题
集_二叉树展开为链表题114:二叉树展开为链表1.示例说明2.题目解析-题意分解-优化思路-测量工具3.代码展开1)标准求解【DFS
递归
+先序遍历】2)改进版一【BFS迭代+先序遍历
长孤秋落
·
2024-02-20 16:09
Python
链表
leetcode
力扣
python
二叉树
[场景实现]:多选框与树形结构
递归
一、场景描述实现一个分配权限的页面,最左侧是大的权限模块的名称,左右侧是控制其是否勾选的多选框。中间部分是一级权限模块下的子权限名称及多选框。请求此权限模块数据的接口返回的是树形结构对象数组。主要属性为menuName表示权限名,isHas表示是否拥有此权限,1或0字符串,parentMenuId为0表示一级,children表示子项,id唯一标识。展示在界面的数据为一级和没有子项的末级。对象数组
JingHiraeth
·
2024-02-20 16:06
前端
场景
前端
javascript
elementui
输出利用先序遍历创建的二叉树的层次遍历序列
利用先序
递归
遍历算法创建二叉树并输出该二叉树的层次遍历序列。
JingHiraeth
·
2024-02-20 16:06
Python
算法题
集_路径总和 III
Python
算法题
集_路径总和III题437:路径总和III1.示例说明2.题目解析-题意分解-优化思路-测量工具3.代码展开1)标准求解【DFS
递归
+暴力枚举】2)改进版一【DFS
递归
+前缀和】3)
长孤秋落
·
2024-02-20 16:34
Python
python
算法
leetcode
力扣
二叉树
路径总和
代码随想录算法训练营day17|Leetcode110/257/404
Leetcode257二叉树的所有路径链接:257.二叉树的所有路径-
力扣
(LeetCode)给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。
yrrej0
·
2024-02-20 15:20
算法
leetcode
职场和发展
python
数据结构
从0开始刷
算法题
(leetcode数组篇)-- day01
数组--day011.数组概述2.两数之和3.只出现一次的数字4.合并两个有序数组1.数组概述数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序
晚•夜
·
2024-02-20 15:19
算法学习
算法
leetcode
代码随想录算法训练营day19
.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树参考链接:代码随想录654.最大二叉树思路:做过根据中序后序数组构建二叉树后,这题比较容易,只需要找到最大值分割,然后
递归
构造即可
羊角问蕊
·
2024-02-20 15:17
算法
代码随想录算法训练营day16
这次想一点不一样的思路,对于一个二叉树的最大深度其实即为其两个子树的最大深度+1,所以可以采用
递归
法解决,结束条件即当root都为空的时候,最大深度即为1。时间复杂度O(n)。
羊角问蕊
·
2024-02-20 15:16
算法
数据结构
代码随想录算法训练营day14
题目:
递归
遍历、迭代遍历、统一迭代参考链接:代码随想录基础知识满二叉树深度为k,节点数为2^k-1,其中k从1开始完全二叉树除了最底层节点未满,其他层节点都满,且最底层节点集中到左边。
羊角问蕊
·
2024-02-20 15:46
算法
算法-
递归
题目:打印中序遍历指定节点的后续节点思路:两种情况当前节点右子树是否为null,如果不是返回右子树最左非空子节点,否则往上找,直到父节点为空或者当前节点是父节点的左子树,返回父节点publicclassCode06_SuccessorNode{publicstaticNodegetSuccessorNode(Nodenode){if(node==null)returnnull;//中序遍历当前节点
Arthur3827
·
2024-02-20 15:14
算法
算法
java
递归
以非
递归
方式遍历二叉树(先序遍历 后序遍历 中序遍历)
问题:以非
递归
方式遍历二叉树(先序遍历后序遍历中序遍历)思路:模拟
递归
方式的调用,为每个节点创建堆栈Flash,在pop时候判断当前节点是第几次访问,然后决定是否打印当前节点值以及为左右子节点创建堆栈Flash
Arthur3827
·
2024-02-20 15:14
算法
java
算法
二叉树
代码随想录算法训练营day17|110、257、404
110高度:后序深度:前序后序遍历解决问题:确保
递归
三要素。如果前序遍历,左右还没得到怎么可能先遍历中呢?-1意义是这个树不是平衡257求路径需要前序遍历。
递归
?回溯?
code_the_smart
·
2024-02-20 15:11
数据结构
代码随想录算法训练营Day17
404.左叶子之和513.找树左下角的值112.路径总和404.左叶子之和
力扣
题目链接注意是左叶子节点,该节点没有其他子节点classSolution{publicintsumOfLeftLeaves(
Nruonan
·
2024-02-20 15:39
算法
算法
代码随想录算法训练营day17
平衡二叉树、257.二叉树的所有路径、404.左叶子之和参考链接:代码随想录110.平衡二叉树思路:首先要搞清楚高度和深度的区别,深度是从上往下数,应该使用前序遍历的思路,而高度是从下往上数,只能后序遍历,
力扣
上的深度都是从
羊角问蕊
·
2024-02-20 15:38
算法
LeetCode-027-移除元素
来源:
力扣
(LeetCode)链接:https://leetcode-cn.com/problems/remove
雄狮虎豹
·
2024-02-20 15:39
备战2023蓝桥国赛-重新理解Floyd及最短路算法总结
备战2023蓝桥国赛-重新理解Floyd及最短路算法总结Floyd算法最短路算法总结Floyd
算法题
目描述:解析:多源最短路算法Floyd,就是用动态规划来解决的。
RCyyds
·
2024-02-20 15:48
搜索与图论
蓝桥杯
算法
图论
c++
【ETOJ P1074】能不能走到捏 题解(Kruskal算法+并查集+启发式合并)
注意:请勿采用
递归
形式的DFS,谨防爆栈。输入格式第一行两个整数nnn,mmm。
HEX9CF
·
2024-02-20 15:47
Algorithm
Problems
算法
LeetCode JS专栏刷题笔记(二)
第一篇刷题笔记详见:LeetCodeJS专栏刷题笔记(一)二、
算法题
目1.复合函数LeetCode地址:2629.复合函数请你编写一个函数,它接收一个函数数组[f1,f2,f3,…,fn],并返回一个新的函数
子洋丶
·
2024-02-20 14:35
leetcode
javascript
算法
链表折半插入排序c语言代码,[
力扣
c语言实现]147. 对链表进行插入排序
147.对链表进行插入排序1.题目描述对链表进行插入排序。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。示例1:输入:4->2->1->3输出:1->2->3->4示例2:输入:-1->5->3->4->0输出:-1->0->3
weixin_39713578
·
2024-02-20 14:31
链表折半插入排序c语言代码
从中序与后序遍历序列构造二叉树(
递归
建树+迭代建树+经典问题+二叉树建树总结)
文章目录1.题目来源2.题目解析1.题目来源链接:106.从中序与后序遍历序列构造二叉树
力扣
题解:官方题解:从中序与后序遍历序列构造二叉树2.题目解析参考原有博文即可:前中,中后,都可以建树成功!
Ypuyu
·
2024-02-20 14:28
LeetCode
算法
[H二叉树] lc297. 二叉树的序列化与反序列化(二叉树+前序遍历+中序遍历+面试经典)
文章目录1.题目来源2.题目解析1.题目来源链接:297.二叉树的序列化与反序列化相同:[剑指-Offer]37.序列化二叉树(层序遍历、前序遍历、
递归
、特殊情况)参考题解:BFS和DFS两种方式解决2
Ypuyu
·
2024-02-20 14:27
LeetCode
【转载】ACM入门 .
(poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)
递归
和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.
dongfan1861
·
2024-02-20 14:55
人工智能
php
c/c++
【科学刷题】完全吃透所有树相关的
算法题
文章目录1二叉树1.1二叉树
递归
/层序遍历1.1.1二叉树的对称/翻转/镜像1.1.2二叉树的直径/最大路径和1.1.2.1二叉树的直径1.1.2.2二叉树中的最大路径和1.1.3二叉树的最大/最小深度
数学工具构造器
·
2024-02-20 14:54
科学刷题
算法
数据结构
leetcode
从前序与中序遍历序列构造二叉树(
递归
建树+迭代建树+经典问题)
文章目录1.题目来源2.题目解析1.题目来源链接:105.从前序与中序遍历序列构造二叉树
力扣
题解:官方题解:从前序与中序遍历序列构造二叉树之前的博文:剑指offer的博文,有图例,代码也十分清楚!
Ypuyu
·
2024-02-20 14:23
LeetCode
算法
力扣
(LeetCode)数据结构练习题(2)
今天又写了两道关于链表的练习题,来给大家分享一下。巩固一下上一篇学到的链表知识,题目可以然我们更清楚的认识链表。目录给你单链表的头节点head,请你反转链表,并返回反转后的链表给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。给你单链表的头节点head,请你反转链表,并返回反转后的链表现在我们来审题,题目很明了让我们反转一个单向链表,那么这里我们就
Gu Gu Study
·
2024-02-20 14:11
数据结构
leetcode
数据结构
算法
c#
JS 深克隆和浅克隆 浅析
深克隆会
递归
复制所有嵌套的对象或数组,确保每个对象或数组
crary,记忆
·
2024-02-20 14:01
前端知识总结
javascript
前端
开发语言
Leetcode No.100&&101相同/对称的树
Leetcode刷题进入到了二叉树的部分,这篇文章总结一下100/101题遇到的
递归
和迭代解法,两题的思路非常相似。相同的树题目大意给定两个二叉树,编写一个函数来检验它们是否相同。
不要甜的红烧肉
·
2024-02-20 13:42
上一页
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
其他