构造树 这一题就要了解前序、中序的性质了前序开头的就是根节点,中序的根节点分开了左右子树 从上面可以看出,3是2根节点,9是左子树,剩下的蓝色框就是右子树了那么我们递归来进行...
构造树 这一题就要了解前序、中序的性质了前序开头的就是根节点,中序的根节点分开了左右子树 从上面可以看出,3是2根节点,9是左子树,剩下的蓝色框就是右子树了那么我们递归来进行...
构造树其实我对树的这种递归,有时候还是不能理解其内部逻辑,但是。。。直接按照题目意思来写代码,貌似也能行 这一题就是典型的,按照题目意思来写代码
翻转二叉树 前序遍历 上面的这种解法还比较好理解,在进入每个节点的时候,直接swap(left, right)然后对其左右子树都进行相同的操作即可 后序遍历 上面这种解法就是...
配合104[//www.greatytc.com/p/82022f2309cb]题使用 简而言之,求每个节点的左右节点的深度,并找出最大的左右深度之和 这里的代码框...
二叉树前序遍历 递归 不借助其他函数的写法 时间复杂度时间复杂度: O(n)每个节点都访问一次,遍历所有节点所需时间为 O(n),其中 n 是节点的数量。空间复杂度空间复杂度...
找堂兄弟节点层次一样深,但是父节点不是同一个 找到等于 x、y的节点,并且记录下来深度Depth以及他们的父节点 DFS BFS
也是典型的BFS题目,搞清楚数据结构就好处理了 BFS
又是一题层次遍历
层次遍历,只不过是从最底层开始放入数组中 BFS
和 102.二叉树的层序遍历[//www.greatytc.com/p/afdbfed8d8d0]一样,只不过是正一次,反一次 下面这种解法不是很高效,每次都要re...
这一题的意思,就是累加,只不过是从右边开始累加中序遍历是 左中右,在这里可以来逆中序来进行遍历 (右中左) 中序遍历递归&非递归写法可以参考 94 题 递归 非递归
中序遍历 递归 非递归
中序遍历 这里要搞明白的一点就是,这是一个二叉搜索树其性质就是,节点的值满足:左 < 根 < 右整个二叉搜索树按照中序遍历下来,肯定会满足 所有的节点按照从小到达的顺序排列,...
最小路径,这种题目一般就需要用BFS来解决了这一题最最重要的事情就是将题目给建模,建成BFS来解决 由上图可以看到,一个位置可以与另外三个位置来进行交换,然后再进一步的交换,...
这一题也是典型的遍历然后剪枝的过程我用BFS来解决这题,但是没能ac,超时了下面来展示下代码 构建邻接表 这里的思路其实也是一样的BFS,但是用了邻接表
是一个比较典型的BFS题目 将题目意思拆解就可以得到1.得到所有组合2.所有组合然后进行剪枝3.遇到目标 target 直接 return 首先第一步,得到所有组合,直接用B...
可以参考 104 111 题层序遍历,那就是 BFS了,直接套BFS框架即可 BFS 上面的代码并不优雅,有点冗余,在处理res以及tmp的过程中,有点太辣眼睛了下面是优化过...
配合111、543题使用更佳计算最大深度 BFS 时间复杂度:O(n),空间复杂度:O(n)如果是一棵完全二叉树,在最后一层上面大概有 n/2 个节点,所以此时的空间复杂度为...
计算二叉树的最小深度 BFS 一般使用队列来实现,将每个节点相邻的字节点都放入队列之中进行遍历再将字节点的下一级的节点放入队列进行遍历 BFS DFS