LeetCode(24)-Balanced Binary Tree
来源:互联网 发布:ubuntu apt get jdk 编辑:程序博客网 时间:2024/06/06 21:40
题目:
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)); }}
0 0
- LeetCode(24)-Balanced Binary Tree
- LeetCode: Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- LeetCode Balanced Binary Tree
- [Leetcode] Balanced Binary Tree
- LeetCode : Balanced Binary Tree
- LeetCode Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- 【leetcode】Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- [Leetcode]Balanced Binary Tree
- [leetcode]Balanced Binary Tree
- Leetcode: Balanced Binary Tree
- LeetCode-Balanced Binary Tree
- LeetCode - Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- LeetCode | Balanced Binary Tree
- 程序员面试宝典16章操作系统整理笔记及补充(个人理解整理版)
- Camera + SurfaceFlinger + Binder
- UISearchBar(搜索框)的方法属性介绍
- Android Studio 设置项目Module编码,解决Android Studio项目运行时乱码问题
- windows和Linux中进行文件传输
- LeetCode(24)-Balanced Binary Tree
- CCF Z字形扫描
- 自定义动画--libgdx
- 码农小汪剑指Offer之36-二叉树的深度 层次遍历 分而冶之
- CodeForces 368B:Sereja and Suffixes【水】
- VC控件——ListControl
- Android自定义控件
- 推荐系统学习05-libFM
- 添加约束