首页 > 其他分享 >平衡二叉树

平衡二叉树

时间:2023-05-07 17:12:09浏览次数:40  
标签:return int res dfs 二叉树 平衡 root

class Solution {
public:
    bool res=true;
    int dfs(TreeNode* root)//返回以root为根节点的子树深度
    {
        if(root==NULL)  return 0;
        int l=dfs(root->left),r=dfs(root->right);
        if(abs(l-r)>1)
            res=false;
        return max(l,r)+1;
    }
    bool isBalanced(TreeNode* root) {
        dfs(root);
        return res;
    }
};

标签:return,int,res,dfs,二叉树,平衡,root
From: https://www.cnblogs.com/tangxibomb/p/17379585.html

相关文章

  • 线索二叉树
    线索二叉树为什么要研究线索二叉树?如何解决上面的问题?我们使用第三种方法二叉链表当中右很多空的指针域线索二叉树定义例子线索二叉树增设了这些指针之后,会难以区分是指向孩子的指针还是指向前驱结点或者后继结点的指针所以要加上两个标志域线索二叉树的结点结......
  • 计算二叉树深度
    解决思路如果是空树,则深度为0;否则,递归计算左子树的深度记为m,递归计算右子树的深度记为n,二叉树的深度则为m与n的较大者加1。intDepth(BiTreeT){if(T==NULL)return0;else{m=Depth(T->lchild);n=Depth(T->rchild);if(m>n)return(m+1);......
  • 二叉树全分析(超详细总结建议收藏)
    个人主页:【......
  • 二叉树的操作
    二叉树的操作二叉树的复制如果是空树,递归结束否则,申请新结点的空间,复制根结点递归复制左子树递归复制右子树代码实现#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<vector>#include<cstring>#include<unordered_se......
  • 先序 中序建立二叉树!!!
    真不错终于写出来了#include<iostream>#include<map>usingnamespacestd;constintN=20010;intpreorder[N],inorder[N],w[N],n,ans[N];map<int,int>ha_sh;structnode{intnum;node*left;node*right;node(intx){num=x,left=nullptr,right=n......
  • Windows11 无法显示卓越性能以及仅有平衡模式一条计划的解决方案
    如果你用的是专业工作站版,且使用了如下命令:Powercfg/DUPLICATESCHEMEe9a42b02-d5df-448d-aa00-03f14749eb61还是无法显示任何多余计划,那么就证明你用的系统版本已经实施了新式待机:ModernStandbyonWindows该模式只可以通过设置-电池电源中设置最佳性能,而无法在控制面板......
  • LeetCode刷题记录|LeetCode热题100|226.翻转二叉树(easy)
    题目描述:给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。 思路与算法:从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前遍历到的节点root的左右两棵子树都已经翻转,只需交换两棵子树的位置,即可完成以root为根节点的整棵子树的翻转。时间复......
  • 第五章 5.2.2 二叉树的常用性质
    叶子结点数量比度为2的结点多一个树的结点数量=总度数+1层的最多结点数高度一定的二叉树最多节点数量完全二叉树的性质......
  • 二叉树的先序、中序、后序的遍历
    二叉树遍历的思想:1.先序遍历 先序遍历二叉树的过程是: (1)访问根节点; (2)先序遍历左子树; (3)先序遍历右子树。 2.中序遍历 中序遍历二叉树的过程是: (1)中序遍历左子树; (2)访问根节点; (3)中序遍历右子树。 3.后序遍历 后序遍历二叉树的过程是: (1)先序遍历左子树;......
  • 二叉树的建立
    二叉树的创建typedefstructnode{ElemTypedata;structnode*lchild;//指向左孩子的节点structnode*rchild;//指向右孩子的节点}BTNode;#include"btree.h"voidCreateBTNode(BTNode*&b,char*str){BTNode*St[MaxSize],*p;inttop=-1,k,j=0;......