Check Completeness of a Binary Tree

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

最后更新于

这有帮助吗?