LeetCode - Balanced Binary Tree
阿新 • • 發佈:2018-11-08
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: bool isBalanced(TreeNode* root) { if(!root) return true; if(helper(root, 0)==-1) return false; else return true; } int helper(TreeNode* root, int level){ int l=level,r=level; if(root->left) l=helper(root->left, level+1); if(root->right) r=helper(root->right, level+1); if(l==-1 || r==-1 || abs(l-r)>1) return -1; return max(l, r); } };