您的位置:首页 > Web前端

剑指Offer(39_2)-判断一颗二叉树是不是平衡二叉树

2019-07-13 16:39 1191 查看

题目:

输入一棵二叉树,判断该二叉树是否是平衡二叉树。

思路:

采用后续遍历,判断返回的左右子树的高度差是不是大于1。

代码实现:

public class Solution {
private int TreeDepth(TreeNode root) {
if(root==null)
return 0;
int l=TreeDepth(root.left);
//已经不平衡,不需要在进行递归
if(l==-1)
return -1;
int r=TreeDepth(root.right);
if(r==-1 || Math.abs(l-r)>1)
return -1;
return l>r?l+1:r+1;
}
public boolean IsBalanced_Solution(TreeNode root) {
return TreeDepth(root)!=-1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: