[LeetCode] Balanced Binary Tree

王朝学院·作者佚名  2016-05-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

[LeetCode] Balanced Binary Tree

Given a binary tree, determine if it is height-balanced.

For this PRoblem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees ofeverynode never differ by more than 1.

这道题个人觉得不难,搞清楚平衡BTS的定义就好啦。

还有就是boolean method最后不要想当然的想着反正写了>1就是false就想当然的return true,还是需要用method检查的哦。

public class Solution { public boolean isBalanced(TreeNode root) { if(root == null){ return true; } // situation that unbalanced if(Math.abs(getHeight(root.left)-getHeight(root.right)) > 1){ return false; } // recur test balance return isBalanced(root.left) && isBalanced(root.right); } // getHeight method private int getHeight(TreeNode root){ if(root == null){ return 0; } //aviod 0 we can promise root wont be null but root.left and root.right could be null here return 1+Math.max(getHeight(root.left), getHeight(root.right)); } }

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航