110. Balanced Binary Tree

来源:互联网 发布:淘宝不给退款怎么投诉 编辑:程序博客网 时间:2024/05/16 08:32


1 题目

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.


2 思路

递归求解左右子节点的深度,比较深度差,如果深度差大于1,则标记为不是标准平衡树。


3 代码

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    boolean is = true;public boolean isBalanced(TreeNode root) {treeDeep(root);return is;}public int treeDeep(TreeNode root) {if (is) {if (root == null) {return -1;}if (root.left == null && root.right == null) {return 0;}int a = 1 + treeDeep(root.left);int b = 1 + treeDeep(root.right);int abs = Math.abs(a - b);if (abs > 1) {is = false;}return Math.max(a, b);}return 0;}}






0 0
原创粉丝点击