LeetCode之Balanced Binary Tree

来源:互联网 发布:pptv网络电视官网 编辑:程序博客网 时间:2024/06/16 15:21
 /*遍历整颗二叉树,对于每遍历到的一点,都求它左右子树的深度。如果左右 子树的深度差小于或等于1,则平衡的。判断二叉树所有节点,如果有一个不是平衡的, 则不是平衡二叉树,否则为平衡二叉树。*/class Solution {public:    bool isBalanced(TreeNode* root) {        if(root == nullptr) return true;        if(abs(depth(root->left) - depth(root->right)) > 1) return false;        return isBalanced(root->left) && isBalanced(root->right);    }        int depth(TreeNode *root){        if(root == nullptr) return 0;        int left(0), right(0);        if(root->left != nullptr) left = depth(root->left);        if(root->right != nullptr) right = depth(root->right);        return max(left, right) + 1;    }};

0 0
原创粉丝点击