牛客283182957号
牛客283182957号
全部文章
分类
题解(51)
归档
标签
去牛客网
登录
/
注册
牛客283182957号的博客
全部文章
(共52篇)
题解 | #二叉搜索树的最近公共祖先#
对于思路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
题解 | #对称的二叉树#
当进入子问题的两个节点都为空,说明都到了叶子节点,且是同步的,因此结束本次子问题,返回true;当进入子问题的两个节点只有一个为空,或是元素值不相等,说明这里的对称不匹配,同样结束本次子问题,返回false。 将一棵树看成一样的两颗树,按照对称的结构遍历,一边遍历一边比较(比较子树,即左右结点...
C++
2022-06-11
0
221
题解 | #二叉搜索树与双向链表#
第一,二叉搜索树中序遍历递增有序 第二,局部逐渐改造成双链表,一个元素先初始化if语句只执行第一次。else以后每执行一次都可以看作把一个元素加入其中(即加入的元素进行了双连接,然后更新加入的元素为pre为下一次加入元素做准备) &...
C++
2022-06-11
0
225
题解 | #按之字形顺序打印二叉树#
按照层次遍历的思想去访问。 多加了两个操作。第一,设置flag来记录反转与否,因为之字形打印就是一行反转一行不反转。 &...
C++
2022-06-10
0
234
题解 | #求二叉树的层序遍历#
层次遍历借助队列。 class Solution { public: vector<vector<int> > levelOrder(TreeNode* root) { vector&...
C++
2022-06-09
0
260
题解 | #比较版本号#
1.以点为分界点,逐段比较。 2.每一段比较将字符串转化为int数字比较 3.过程进行到两方长度都走完为止,只有0||0==0 2的转化方法如下 比较的时候,数字前导零不便于我们比较,因为我们不知道后面会出现多少前导零,因此应该将点之间的部分转...
C++
2022-06-08
0
309
首页
上一页
1
2
3
4
5
6
下一页
末页