【leetcode】平衡二叉树

 

int recursion(struct TreeNode* root, bool* flag){
    if (!root || *flag=false) return 0;    
    int left=recursion(root->left,flag);
    int right=recursion(root->right,flag);
    if (abs(left-right)>1)
        *flag=false;    
    return (left>right)?left+1 :right+1;
}
bool isBalanced(struct TreeNode* root){
    bool flag=true;
    recursion(root, &flag);
    return flag;
}

 

posted @ 2020-11-10 16:57  温暖了寂寞  阅读(66)  评论(0编辑  收藏  举报