美文网首页
判断二叉树是否是完全二叉树

判断二叉树是否是完全二叉树

作者: 远o_O | 来源:发表于2017-07-10 16:26 被阅读617次
image.png
    /**
     * 判断是否是完全二叉树
     * @param node
     */
    public static boolean isGoodBinaryTree(Node node){
        if (node == null)
            return false;
        Queue<Node> queue = new LinkedList<>();

        Node current = null;
        queue.offer(node);
        while(!queue.isEmpty()){
            //出队列元素
            current = queue.poll();

            if (current != null){
                if (current.left != null)
                    queue.offer(current.left);

                if (current.right != null)
                    queue.offer(current.right);

                //1.如果当前结点有右孩子,但是没有左孩子,直接返回false
                if (current.left == null && current.right !=null)
                    return false;

                //2.如果当前结点并不是左右孩子全有,那之后的节点必须都为叶节点,否则返回false
                if (current.left != null && current.right == null){
                    if (current.left.left != null || current.left.right != null)
                        return false;
                }
            }
        }
        //3.遍历过程如果不返回false,遍历结束后返回true即可
        return true;
    }

相关文章

  • 958. 二叉树的完全性检验

    判断是否是完全二叉树 给定一个二叉树,确定它是否是一个完全二叉树。 百度百科中对完全二叉树的定义如下: 若设二叉树...

  • 关于二叉树的算法题

    前序遍历中序遍历后序遍历判断是否是平衡二叉树判断是否是对称二叉树判断二叉树高度按照层遍历二叉树判断二叉树宽度

  • 二叉树常见问题

    1 判断类问题 判断类问题主要分判断二叉树是否是二叉搜索树、二叉完全树,以及两棵二叉树是否同构这三个问题。 1.1...

  • 1 二叉树的最近公共祖先(leetcode 236) 2 判断是否为平衡二叉树 3 判断二叉树是否为满二叉树 4 ...

  • 判断一棵树是否是搜索二叉树、判断一棵树是否是完全二叉树

    题目描述 判断一棵树是否是搜索二叉树、判断一棵树是否是完全二叉树 什么是二叉查找树? 二叉查找树(Binary S...

  • 平衡二叉树

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

  • 39、平衡二叉树

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

  • 牛客-剑指0ffer-平衡二叉树

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

  • 19.判断二叉平衡树

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

  • leetcode-Easy-29-Tree-Same tree

    题目判断二叉树是否完全一样 Given two binary trees, write a function to...

网友评论

      本文标题:判断二叉树是否是完全二叉树

      本文链接:https://www.haomeiwen.com/subject/sdfuhxtx.html