平衡二叉树

来源:互联网 发布:关于网络的名言 编辑:程序博客网 时间:2024/05/22 17:29

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

思路:后续遍历二叉树,同时得到子树的深度,判断子树的深度是否满足平衡条件即可

public class Solution {   //后续遍历时,遍历到一个节点,其左右子树已经遍历  依次自底向上判断,每个节点只需要遍历一次    private boolean isBalanced=true;    public boolean IsBalanced_Solution(TreeNode root) {             getDepth(root);        return isBalanced;    }    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){            isBalanced=false;        }        return right>left ?right+1:left+1;    }}


0 0
原创粉丝点击