【leetcode】958. 二叉树的完全性检验(Java)

题目描述

题目链接958. 二叉树的完全性检验
【leetcode】958. 二叉树的完全性检验(Java)_第1张图片

题解

层次遍历:
层次遍历,空值也入队,当出队值为空时判断队列剩下元素是否都为空,为则完全二叉树

class Solution {
    public boolean isCompleteTree(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(root);
        while (!queue.isEmpty()){
            int size = queue.size();
            for (int i = 0; i < size; i++){
                TreeNode cur = queue.poll();
                if (cur == null){
                    while (!queue.isEmpty()){
                        if (queue.poll() != null) return false;
                    }
                    return true;
                }
                queue.add(cur.left);
                queue.add(cur.right);
            }
        }
        return true;
    }
}

你可能感兴趣的:(Leetcode,leetcode,java,算法)