疏凉
疏凉
全部文章
分类
题解(101)
归档
标签
去牛客网
登录
/
注册
疏凉的博客
全部文章
(共22篇)
题解 | #树的子结构#
有一颗树为空,返回false; 比较当前子树匹配是否相同,左右子树匹配是否相同; 匹配条件: 子树为NULL,返回true; 主树为NULL或主树值与子树值不相等,返回false; 继续比较各自子树。 /* struct TreeNode { int val; struct TreeNode ...
C++
二叉树
2022-04-01
0
289
题解 | #按之字形顺序打印二叉树#
使用队列进行层序遍历; 根据层数判断数组是否需要反转; 记录每层的遍历结果。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) :...
C++
二叉树
队列
2022-04-01
0
253
题解 | #重建二叉树#
前序和中序确定二叉树 前序数组的第一项为根节点; 根据前序数组的第一项确定中序数组的分割点,分为左中序数组和右中序数组; 根据左中序数组的大小,将前序数组分为左前序数组和右中序数组; 左节点由左前序数组和左中序数组确定; 右节点由右前序数组和右中序数组确定。 /** * Definition f...
C++
二叉树
2022-04-01
0
326
题解 | #二叉搜索树的最近公共祖先#
后序遍历:从底层向上返回。 左右子节点均满足条件,返回当前root; 左节点为NULL,返回右节点; 3.否则,返回右节点。 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *r...
C++
二叉树
二叉搜索树
2022-03-31
0
314
题解 | #判断是不是平衡二叉树#
递归判断左右子树高度差 if (pRoot == NULL) return 0; int leftDepth = getDepth(pRoot->left); if (leftDepth == -1) return -1; int...
C++
二叉树
递归
2022-03-03
0
322
题解 | #二叉树的深度#
递归 终止条件 if (pRoot == NULL) return 0; 最长路径 return max(TreeDepth(pRoot->left), TreeDepth(pRoot->right)) + 1;
C++
二叉树
递归
2022-03-03
0
220
题解 | #对称的二叉树#
递归 左右节点为空,返回true 仅左为空、仅右为空、左右节点值不相等,返回false 存在左右节点时,判断左右对应子节点是否对称 if (left == NULL && right == NULL) return true; else if (l...
C++
二叉树
2022-03-02
0
209
题解 | #二叉树中和为某一值的路径(一)#
递归 前序遍历 返回条件:树为空,返回false;路径和为sum,返回true if (root == NULL) return false; if (root->val == sum && root->left == NULL &am...
C++
二叉树
2022-03-02
0
228
题解 | #从上往下打印二叉树#
定义队列处理二叉树 queue<TreeNode*> que; if (root != NULL) que.push(root); 遍历存储每层结果 while (!que.empty()) { int size = que.size();...
C++
二叉树
2022-03-01
0
227
题解 | #二叉树的深度#
采用队列进行处理 queue<TreeNode*> que; que.push(pRoot); 2.记录层数 while (!que.empty()) { int size = que.size(); depth++; ...
C++
二叉树
2022-03-01
0
256
首页
上一页
1
2
3
下一页
末页