牛客82035003号
牛客82035003号
全部文章
分类
题解(161)
归档
标签
去牛客网
登录
/
注册
牛客82035003号的博客
全部文章
(共7篇)
题解 | #重建二叉树#
利用递归根据前序遍历和中序遍历重建二叉树 class Solution { public: TreeNode* reConstructBinaryTree(vector<int> pre,vect...
C++
二叉树
递归
2022-10-08
0
383
题解 | #在二叉树中找到两个节点的最近公共祖先#
struct TreeNode* helper(struct TreeNode* root, int o1, int o2){ if(root ==&...
C
二叉树
2022-09-21
0
345
题解 | #修剪叶子#
其实就是删除所有叶子结点及其父节点。 1.如果为空,无可再删,返回空。 2.如果有一个孩子结点是叶结点,无论左右,父子均删,返回空。 3.如果两个孩子均不是叶子结点,左子树最终结果为递归左孩子的结果,右子树亦如此。 struct TreeNode* prun...
二叉树
C
递归
2022-08-25
0
309
题解 | #二叉搜索树的最近公共祖先#
空树没有最近公共祖先 如果p和q两个数一个大于根结点的值,一个小于根结点的值,那么就分属左右两边,根结点即为最近公共祖先。 如果p和q两个数都小于根结点的值,那么就都在根结点的左边,那么把根结点的左孩子结点当作根结点用递归继续找。 如果p和q两个数都大于根结点的值...
C
二叉树
二叉搜索树
递归
2022-05-02
1
404
题解 | #从上往下打印二叉树#
和NC15的区别在于这里并不需要把每层的数值单独放在一个数组里,而是把二叉树的所有元素放在一个大数组里,那么问题就简单些了。 int* PrintFromTopToBottom(struct TreeNode* root, int* return...
C
二叉树
2022-05-01
4
438
题解 | #求二叉树的层序遍历#
层次遍历的基本思想是:要借助一个队列。 先将根结点入队列,然后出队,访问之, 若它有左子树,则左子树根结点入队列; 若它有右子树,则右子树根结点入队列; 然后头指针后移一位; 队头元素出队列,访问之,左子树根结点入队列,右子树根结点入队列,头指针后移 ……直至队空...
C
二叉树
队列
2022-04-28
4
407
题解 | #二叉树的直径#
在用递归求左右子树的高度的同时,就将左右子树的高度之和与max比较,并持续更新max,最后的max即为两个结点之间的最大距离。 int max = 0; //max作为全局变量,不断在更新 int depth(struct TreeNode*&...
C
二叉树
递归
2022-04-10
0
426