[LeetCode] Balanced Binary Tree

来源:互联网 发布:json字符串解析 编辑:程序博客网 时间:2024/06/06 02:16

The difference of two sub-trees are no greater than 1.

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    bool isBalanced(TreeNode *root) {        return isBalancedHelper(root)!=-1;    }    int isBalancedHelper(TreeNode *root) {        if(root==NULL) return 0;        int left = isBalancedHelper(root->left);        if(left==-1) return -1;        int right = isBalancedHelper(root->right);        if(right==-1 || abs(left-right)>1) return -1;        return (left>right?left:right)+1;    }};


0 0
原创粉丝点击