首页 > 其他 > 详细

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

时间:2018-07-11 22:18:30      阅读:181      评论:0      收藏:0      [点我收藏+]

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

代码如下:

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

 

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!