package com.niuke;
/**
* Created by admin on 2018/3/6.
*/
public class BalancedTree {
//依次自底向上判断,每个节点只需要遍历一次
// 如果二叉树的每个节点的左子树和右子树的深度差的绝对值不大于1,它就是平衡二叉树。
private boolean flag=true;
public boolean IsBalanced_Solution(TreeNode root) {
getDepth(root);
return flag;
}
public int getDepth(TreeNode root) {
if(root==null) {
return 0;
}
int left=getDepth(root.left);
int right=getDepth(root.right);
if(Math.abs(left-right)>1)
flag=false;
return right>left?right+1:left+1;
}
}
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
最新推荐文章于 2021-12-29 21:41:16 发布