码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-07-11 22:53:12      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:nod   代码   bsp   节点   balance   class   flag   false   style   

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

代码如下:

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;
    }
};

 

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

标签:nod   代码   bsp   节点   balance   class   flag   false   style   

原文地址:https://www.cnblogs.com/inception6-lxc/p/9296880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!