输入一棵二叉树,判断该二叉树是否是平衡二叉树。
2017-09-03 17:22
281 查看
问:输入一棵二叉树,判断该二叉树是否是平衡二叉树。
//平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
//这样就可以递归得到左右子树的高度,作差与1比较,判断是否是平衡二叉树
public class Solution {
public boolean isBalance=true;
public boolean IsBalanced_Solution(TreeNode root) {
getDepth(root);
return isBalance;
}
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){
isBalance=false;
}
return right>left ?right+1:left+1;
}
}
//平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
//这样就可以递归得到左右子树的高度,作差与1比较,判断是否是平衡二叉树
public class Solution {
public boolean isBalance=true;
public boolean IsBalanced_Solution(TreeNode root) {
getDepth(root);
return isBalance;
}
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){
isBalance=false;
}
return right>left ?right+1:left+1;
}
}
相关文章推荐
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 剑指offer 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 29.输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 《牛客网剑指offer39题》输入一棵二叉树,判断该二叉树是否是平衡二叉树
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 每日一题之判断一棵二叉树是否是平衡二叉树以及求一颗二叉树的镜像
- 【算法】判断一棵二叉树是否是平衡二叉树
- .如何判断一棵二叉树是否是平衡二叉树
- 判断一棵二叉树是否为平衡二叉树(待续!!!!)
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- 判断一棵二叉树是否为平衡二叉树