判断是否平衡二叉树

Posted du001011

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断是否平衡二叉树相关的知识,希望对你有一定的参考价值。

给定一个二叉树,判断是否平衡二叉树;

所谓的平衡二叉树就是左节点小于根节点,根节点小于右结点,

我们对平衡二叉树进行中序遍历,得到的结果就是一个升序,我们的解题思路也是这个法子

代码如下:

public boolean isValidBST(TreeNode root) 
        Stack<TreeNode> stack = new Stack<>();
        long tmp = Long.MIN_VALUE;
        while(!stack.isEmpty()||root!=null)
            while(root!=null)
                stack.push(root);
                root = root.left;
            
            if(!stack.isEmpty())
                root = stack.pop();
                //判断当前结点的值是否大于它的上一个入栈节点
                if(root.val<=tmp)
                    return false;
                
                tmp = root.val * 1L;

                root = root.right;
            
        
        return true;
    

 

以上是关于判断是否平衡二叉树的主要内容,如果未能解决你的问题,请参考以下文章

平衡二叉树判断

算法总结:左神class5—二叉树是否是平衡二叉树,搜索二叉树,平衡二叉树

判断一个二叉树是否是平衡二叉树

python判断二叉树是否为平衡二叉树

左神直通BAT之判断一个树是否是平衡二叉树

判断是否平衡二叉树