/**
?*?1.?題目非常簡(jiǎn)單,剛開始還想著有沒有什么更好的方法。不過很快就覺得遞歸就是最快的。10分鐘就寫好了,一次通過。
?*?2.?1ms,擊敗99.76%;?40MB,擊敗27.34%;
?*?
?*/
class?Solution?{
????public?boolean?isBalanced(TreeNode?root)?{
????????if(isBalancedHelp(root)?<?0){
????????????return?false;
????????}
????????return?true;
????}
????public?int?isBalancedHelp(TreeNode?root){
????????if(root?==?null){
????????????return?0;
????????}
????????int?leftNumber?=?isBalancedHelp(root.left);
????????int?rightNumber?=?isBalancedHelp(root.right);
????????if(leftNumber?<?0?||?rightNumber?<?0){
????????????return?-1;
????????}
????????if(Math.abs(leftNumber-rightNumber)>1){
????????????return?-1;
????????}
????????return?Math.max(leftNumber?+?1,?rightNumber+1);
????}
}