LeetCode: Balanced Binary Tree

题目链接:https://leetcode.com/problems/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.

题意:判断一棵树是否是平衡树

分析:比较左右子树的深度,如果二者深度差大于1则返回false,,不然就继续判断左右子树是否平衡

代码:/** * 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(getDeepth(root.left, 1) – getDeepth(root.right, 1)) > 1) {return false;} else {return isBalanced(root.left) && isBalanced(root.right);}}public int getDeepth(TreeNode root, int curDep) {if(root == null) {return curDep;} else {return Math.max(getDeepth(root.left, curDep+1), getDeepth(root.right, curDep+1));}}}

版权声明:本文为博主原创文章,未经博主允许不得转载。

只要你扬帆,便会有八面来风。启程了,人的生命才真正开始。

LeetCode: Balanced Binary Tree

相关文章:

你感兴趣的文章:

标签云: