
二叉树
Here_JW
这个作者很懒,什么都没留下…
展开
-
剑指offer 二叉树的镜像 c++
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述 代码 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; class Solution { public: void Mirror(TreeNode *pRoot) { if(pRoot ==转载 2020-06-14 06:28:14 · 137 阅读 · 0 评论 -
剑指offer 判断二叉树是否是平衡二叉树 C++
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 判断二叉树平衡的条件是 左右子树的深度不能大于1 思路 左右子树都先求深度,再比较深度差是否大于1 因为在遍历每个结点时都要求其左右子树的深度,因此复杂度是O(n^2) Tips 求二叉树深度 | 如何创建节点 | 完整代码 class Solution { public: bool IsBalanced_Solution(TreeNode* pRoot) {原创 2020-06-14 04:32:55 · 246 阅读 · 0 评论 -
剑指offer 求二叉树的深度 C++
求二叉树的深度 C++ 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 部分代码 class Solution { public: int TreeDepth(TreeNode* pRoot) { if(!pRoot) return 0; return 1 + max(TreeDepth(pRoot->left),TreeDepth(pRoot->right));原创 2020-06-14 04:12:24 · 233 阅读 · 0 评论