JAVA版 《平衡二叉树》
平衡二叉树
http://www.nowcoder.com/questionTerminal/8b3b95850edb4115918ecebdf1b4d222
利用求二叉树的深度进而判断是不是平衡二叉树(任意一个结点的子树的高度差都小于等于1)
import java.util.*;
public class Solution {
boolean isBalanced = true;
public boolean IsBalanced_Solution(TreeNode root) {
getDep(root);
return isBalanced;
}
public int getDep(TreeNode root){
if(root == null)
return 0;
int left = getDep(root.left);
int right = getDep(root.right);
if(left-right>1 || right-left>1)
isBalanced = false;
return left>right ? left+1 : right+1;
}
}
查看7道真题和解析