题目描述: 给定一个二叉树,确定他是否是一个完全二叉树。 完全二叉树的定义:若二叉树的深度为 h,除第 h 层外,其它各层的结点数都达到最大个数,第 h 层所有的叶子结点都连续集中在最左边,这就是完全二叉树。(第 h 层可能包含 [1~2h] 个节点)提示: 数据范围:节点数满足 1 ≤ n ≤ 100代码实现: public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return bool布尔型 */ public boolean isCompleteTree (TreeNode root) { // write code here if (root == null) return true; Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); while(!queue.isEmpty()){ root = queue.peek(); if(root.left != null){ queue.offer(root.left); }else break; if(root.right != null){ queue.offer(root.right); }else break; queue.poll(); } if(queue.poll().right != null) return false; while (!queue.isEmpty()){ TreeNode node = queue.poll(); if(node.left != null || node.right != null) return false; } return true; } }