public int getDepth(TreeNode rootnode) {
if (rootnode == null) return 0;//如果当前节点为空返回深度为0
int leftlength = getDepth(rootnode.left);
int rigthlength = getDepth(rootnode.right);
int nowlen = Math.max(leftlength, rigthlength);//当前节点子树的最大深度
return nowlen + 1;//当前节点的最大深度
}
public boolean IsBalanced_Solution(TreeNode root) {
if(root==null)return true;//当前节点为空返回true
int leftLenght=getDepth(root.left);
int rigthLength=getDepth(root.right);
if(Math.abs(leftLenght-rigthLength)>1)return false;
return IsBalanced_Solution(root.left) && IsBalanced_Solution(root.right);
}
判断一棵树是不是平衡二叉树
原文作者:平衡二叉树
原文地址: https://blog.csdn.net/genghaihua/article/details/80157049
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/genghaihua/article/details/80157049
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。