牛客283182957号
牛客283182957号
全部文章
题解
归档
标签
去牛客网
登录
/
注册
牛客283182957号的博客
全部文章
/ 题解
(共37篇)
题解 | #包含min函数的栈#
step 1:使用一个栈记录进入栈的元素,正常进行push、pop、top操作。s1 step 2:使用另一个栈记录每次push进入的最小值。s2 step 3:每次push元素的时候与第二个栈的栈顶元素比较,若是较小,则进入第二个栈,若是较大,则第二个栈的栈顶元...
C++
2022-06-22
0
229
题解 | #输出二叉树的右视图#
step 1:首先检查两个遍历序列的大小,若是为0,则空树不用打印。 step 2:建树函数根据上述说,每次利用前序遍历第一个元素就是根节点,在中序遍历中找到它将二叉树划分为左右子树,利用l1 r1 l2 r2分别记录子树部分在数组中分别对应的下标,并将子树的数组部分送入函数进行递归。&...
C++
2022-06-21
0
316
题解 | #重建二叉树#
数字1是根节点,并将二叉树分成了(247)和(3568)两棵子树,而子树的的根也是相应前序序列的首位,比如左子树的根是数字2,右子树的根是数字3,这样我们就可以利用前序遍历序列找子树的根节点,利用中序遍历序列区分每个子树的节点数。 1. 分别是两个数组,返回的是当前数组的个数,是装着...
C++
2022-06-17
0
310
题解 | #序列化二叉树#
采用先序遍历 1.二叉树转字符串,按要求先序转即可。注意调用是用的str的引用 特别的 &(引用)==>用来传值,出现在变量声明语句中位于变量 左边时,表示声明的是引用。 &(取地址运算符)==>用来获取首地址,在给变量赋初值时出...
C++
2022-06-16
0
262
题解 | #在二叉树中找到两个节点的最近公共祖先#
1.普通二叉树失去了平衡二叉树的性质,所以用平衡二叉树的法二特征无法求解,只能用有普适性的法一求解。 2.平衡二叉树的法一,可以利用左结点小于根小于有结点的性质,去减小搜索结点的区间。但是普通二叉树只能逐条分支去搜索直至找到目标结点,同时获得其路径。 3.获得路径后寻找祖先的方法与平衡二...
C++
2022-06-15
0
225
题解 | #二叉搜索树的最近公共祖先#
对于思路1路径搜索,a,从根搜索该节点并记录其走过的路径,对另一个也做同样的操作,比较两者路径中最晚一样的就是最近祖先,(那不是最晚的就不是最近祖先) 对于思路2,其核心思想就是其祖先一定小于其中一个大于其中另一个
C++
2022-06-15
0
202
题解 | #判断是不是完全二叉树#
核心,层次遍历。 把每一个结点都看作是有左叶子和右叶子的,如果不是完全二叉树,破坏只能出现在最后一层上,如果是完全二叉,最后(第三层)一层(1表示有叶子0表示无)则类似是11 11 00 00 或11 10 00 00即1是连着的。不会出现11 01 00 00之类的,那么在遍历(...
C++
2022-06-14
0
227
题解 | #判断是不是二叉搜索树#
1.中序遍历来解 中序输出递增即为二叉平衡。 左 根 右 在根的时候判断val 判断完符合条件更新pre方便下一次对比
C++
2022-06-13
0
230
题解 | #二叉树的镜像#
自底向上的遍历方式,我们可以采用后序递归的方法。 具体做法: step 1:先深度最左端的节点,遇到空树返回,处理最左端的两个子节点交换位置。 step 2:然后进入右子树,继续按照先左后右再回中的方式访问。 step 3:再返回到父问题,交换父问题两个子节...
C++
2022-06-13
0
215
题解 | #合并二叉树#
前序递归遍历。 具体做法: step 1:首先判断t1与t2是否为空,若为则用另一个代替,若都为空,返回的值也是空。 step 2:然后依据前序遍历的特点,优先访问根节点,将两个根点的值相加创建到新树中。 step 3:两棵树再依次同步进入左子树和右子树。
C++
2022-06-13
0
232
首页
上一页
1
2
3
4
下一页
末页