牛客82035003号
牛客82035003号
全部文章
分类
题解(161)
归档
标签
去牛客网
登录
/
注册
牛客82035003号的博客
全部文章
(共6篇)
题解 | #重建二叉树#
利用递归根据前序遍历和中序遍历重建二叉树 class Solution { public: TreeNode* reConstructBinaryTree(vector<int> pre,vect...
C++
二叉树
递归
2022-10-08
0
383
题解 | #修剪叶子#
其实就是删除所有叶子结点及其父节点。 1.如果为空,无可再删,返回空。 2.如果有一个孩子结点是叶结点,无论左右,父子均删,返回空。 3.如果两个孩子均不是叶子结点,左子树最终结果为递归左孩子的结果,右子树亦如此。 struct TreeNode* prun...
二叉树
C
递归
2022-08-25
0
309
题解 | #二叉搜索树的最近公共祖先#
空树没有最近公共祖先 如果p和q两个数一个大于根结点的值,一个小于根结点的值,那么就分属左右两边,根结点即为最近公共祖先。 如果p和q两个数都小于根结点的值,那么就都在根结点的左边,那么把根结点的左孩子结点当作根结点用递归继续找。 如果p和q两个数都大于根结点的值...
C
二叉树
二叉搜索树
递归
2022-05-02
1
404
题解 | #跳台阶扩展问题#
如果一次可以跳任意阶,那么要想跳到第n阶,可以从前面任意一阶跳过去,即f(n)=f(n-1)+f(n-2)+……+f(2)+f(1)。 同理,f(n-1)=f(n-2)+f(n-3)+……+f(2)+f(1), 那么f(n) = 2 * f(n-1). 依此类推,f(n-1)...
C
递归
2022-04-11
0
315
题解 | #二叉树的直径#
在用递归求左右子树的高度的同时,就将左右子树的高度之和与max比较,并持续更新max,最后的max即为两个结点之间的最大距离。 int max = 0; //max作为全局变量,不断在更新 int depth(struct TreeNode*&...
C
二叉树
递归
2022-04-10
0
426
题解 | #二叉树的后序遍历#
int arr[100]= {0}; int cnt = 0; void printtree(struct TreeNode* p){ if(p == ...
C
递归
2022-04-10
0
267