数据结构和算法
数据结构和算法
全部文章
题解
读书笔记(1)
归档
标签
去牛客网
登录
/
注册
数据结构和算法的博客
关注微信公众号“数据结构和算法”,每日一题
全部文章
/ 题解
(共14篇)
【数据结构和算法】递归和非递归两种方式解决
来自专栏
递归解决 判断二叉树是否是对称,需要从子节点开始比较,两个子节点的值必须相同,并且左子节点的右子节点(如果有)必须等于右子节点的左子节点,左子节点的左子节点必须等于右子节点的右子节点。就像下面图中那样 public boolean isSymmetric (TreeNode root) { ...
java
二叉树
递归
2021-08-03
3
754
【数据结构和算法】BFS和DFS两种方式解决
来自专栏
BFS打印 二叉树的的层次遍历就是一层一层的遍历,也就是我们俗称的BFS(宽度优先搜索算法(又称广度优先搜索)),之前在373,数据结构-6,树 中讲过树的宽度优先搜索,最简单的方式就是使用队列。但这题打印的时候多了一个条件,就是不能一直从一个方向打印,要先从左边打印然后再从右边打印……,就这样交替...
java
DFS
BFS
二叉树
2021-08-03
6
1082
【数据结构和算法】3种解决方式
来自专栏
问题分析 做这题之前我们先来看一下树的几种遍历顺序。 先序遍历:根节点→左子树→右子树。 中序遍历:左子树→根节点→右子树。 后续遍历:左子树→右子树→根节点。 其实也很好记,他是根据根节点遍历的顺序来定义的,比如先遍历根节点就是先序遍历,中间遍历根节点就是中序遍历,最后遍历根节点就是后续遍历,至于...
java
二叉树
2021-08-03
22
1256
【数据结构和算法】递归方式解决
来自专栏
递归方式解决 题中说了要转换为一棵高度平衡的二叉搜索树,并且数组又是排过序的,这就好办了。 我们可以使用递归的方式,每次取数组中间的值比如m作为当前节点,m前面的值都是比他小的,作为他左子树的结点值。m后面的值都是比他大的,作为他右子树的节点值,示例中一个可能的结果是。 代码如下 public ...
java
二叉树
DFS
递归
2021-08-03
4
849
【数据结构和算法】递归和非递归解路径总和问题
来自专栏
递归求解 这题让判断从根节点到叶子节点的所有路径中,有没有和等于sum的,如果看过之前讲的《442,剑指 Offer-回溯算法解二叉树中和为某一值的路径》 ,再来看这一题就觉得这题有点简单了。第442题要求的是把所有的和等于sum的路径都打印出来,而这题只要判断有一个路径的和等于sum即可。 我们可...
java
DFS
二叉树
BFS
递归
2021-08-03
22
1252
【数据结构和算法】递归解决
来自专栏
这道题要求的最大路径和如果是从根节点开始到叶子节点就好办了,我们可以通过递归的方式,从下往上,舍去比较小的路径节点,保留比较大的节点。 但这道题要求的最大路径和并不一定经过根节点,如果再使用上面的方式就行不通了,对于这道题我们可以分为4种情况来讨论 1,只要当前节点,舍弃子节点。比如下面结点2的左右...
java
二叉树
递归
2021-08-03
7
636
【数据结构和算法】4种方式解决
来自专栏
1,递归方式解决 这题没说sum是正数还是负数,也没说树中节点的值有没有负数。我们要做的是从根节点到叶子节点遍历他所有的路径,返回他所有路径中和等于sum的节点,这里有两种实现方式,一种是减,一种是加。减就是从根节点开始,用sum不断的减去遍历到的每一个节点,一直到叶子节点,在减去叶子节点之前查看s...
java
二叉树
DFS
2021-07-19
15
1151
【数据结构和算法】DFS和BFS两种方式解决
来自专栏
1,DFS解决 这题说的是每条从根节点到叶子结点的路径都代表一个数字,然后再把这些数字加起来即可。遍历一棵树从根节点到叶子结点的所有路径,最容易想到的是DFS,所以这题使用DFS是最容易解决的。如果对二叉树的DFS不熟悉的话,可以看下373,数据结构-6,树 解决方式就是从根节点往下走的时候,那么...
java
二叉树
DFS
BFS
2021-07-19
25
3009
【数据结构和算法】NC102 在二叉树中找到两个节点的最近公共祖先
来自专栏
非递归写法 要想找到两个节点的最近公共祖先节点,我们可以从两个节点往上找,每个节点都往上走,一直走到根节点,那么根节点到这两个节点的连线肯定有相交的地方,如果是从上往下走,那么最后一次相交的节点就是他们的最近公共祖先节点。我们就以找6和7的最近公共节点来画个图看一下 我们看到6和7公共祖先有5和...
java
二叉树
2021-07-06
147
6959
【数据结构和算法】BFS,DFS,递归等多种实现方式,图文详解
来自专栏
1,BFS解决 之前讲373,数据结构-6,树的时候,提到过二叉树的广度优先搜索,就是一层一层的访问,像下面这样二叉树的BFS代码如下 public static void treeBFS(TreeNode root) { //如果为空直接返回 if (root == null) ...
DFS
递归
java
二叉树
BFS
2021-03-21
93
2336
首页
上一页
1
2
下一页
末页