跟着carl学算法,本系列博客仅做个人纪录,发起大家都去看carl本人的博客,写的真的很好的!
代码随想录
LeetCode:110.平衡二叉树
给定一个二叉树,判断它是否是
平衡二叉树
示例 1:
输入:root = [3,9,20,null,null,15,7]
输出:true
示例 2:
输入:root = [1,2,2,3,3,null,null,4,4]
输出:false
示例 3:
输入:root = []
输出:true
在一个递归里面即取求高度也去判断是否平衡
- public boolean isBalanced(TreeNode root) {
- return getHeight(root) != -1;
- }
- private int getHeight(TreeNode root) {
- if (root == null)
- return 0;
- int leftHeight = getHeight(root.left);
- if (leftHeight == -1)
- return -1;
- int rithtHeight = getHeight(root.right);
- if (rithtHeight == -1)
- return -1;
- int res = 0;
- if (Math.abs(leftHeight - rithtHeight) > 1)
- return -1;
- else
- return 1 + Math.max(leftHeight, rithtHeight);
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |