LeetCode(24)-Balanced Binary Tree
2016-04-05 17:02
405 查看
题目:
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 of every node never differ by more than 1.
思路:
题目的大意是【判断一个二叉树是不是平衡二叉树首先了解平衡二叉树的概念:只有根节点是,或者左右节点的深度只差不大于1
因为二叉树本身是一个递归的结构,所以二叉树的好多问题使可以用递归解决的,考虑root和root.left以及root.right的关系
代码:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public boolean isBalanced(TreeNode root) { if(root == null){ return true; } if(Math.abs(depth(root.left)-depth(root.right)) > 1){ return false; } return isBalanced(root.left)&&isBalanced(root.right); } public int depth(TreeNode root){ if(root == null){ return 0; } return 1+Math.max(depth(root.left),depth(root.right)); } }
相关文章推荐
- LeetCode(24)-Balanced Binary Tree
- Android Studio 设置项目Module编码,解决Android Studio项目运行时乱码问题
- 码农小汪剑指Offer之36-二叉树的深度 层次遍历 分而冶之
- 原型prototype与原型链__proto__
- hdu 3466 Proud Merchants 贪心+01背包
- 游戏开发创建游戏世界(8)
- 怎么把word转成pdf文件
- PHP之文件
- win2008- 運行php
- java内部类与静态内部类
- Camera + SurfaceFlinger + Binder
- 第四周进度条
- eBay 开发流程
- 时间限制
- CodeForces 368A:Sereja and Coat Rack【水】
- spfile与pfile区别
- Photoshop制作简单粗暴可爱的漫画GIF动画
- 【学神-RHEL7】1-13-MBR磁盘管理
- Bitmap缩略图
- Codeforces Round #247(Div. 2) D. Random Task 二分+前缀和