输入一棵二叉树,判断该二叉树是否是平衡二叉树。

Posted inception6-lxc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入一棵二叉树,判断该二叉树是否是平衡二叉树。相关的知识,希望对你有一定的参考价值。

用后序遍历的方法做,可以避免重复遍历节点。在遍历到一个节点之前就已经遍历了它的左右子树

代码如下:

class Solution {
public:
    bool IsBalanced_Solution(TreeNode* pRoot) {
        bool flag=true;
        int tmp=getDepth(pRoot,flag);
        return flag;
    }
    
    int getDepth(TreeNode* root,bool &flag){
        if(!root)return 0;
        int left=getDepth(root->left,flag);
        int right=getDepth(root->right,flag);
        if(abs(left-right)>1)flag=false;
        
        return left>right?left+1:right+1;
    }
};

 

以上是关于输入一棵二叉树,判断该二叉树是否是平衡二叉树。的主要内容,如果未能解决你的问题,请参考以下文章

N39_判断该二叉树是否是平衡二叉树。

newcode-平衡二叉树

判断平衡二叉树

55-02 平衡二叉树

平衡二叉树

平衡二叉树