/** * 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; int left = Depth(root->left); int right = Depth(root->right); int ans = abs(left - right); if(ans > 1) return false; return isBalanced(root->left) && isBalanced(root->right); } int Depth(TreeNode* root) { if(!root) return 0; return max(Depth(root->left),Depth(root->right)) + 1; } };
原文:https://www.cnblogs.com/yuhong1103/p/12612480.html