using System;
using System.Collections.Generic;
/*
public class TreeNode
{
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode (int x)
{
val = x;
}
}
*/
class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return bool布尔型
*/
public bool isCompleteTree (TreeNode root) {
if(root == null) return true;
Queue<TreeNode> que = new Queue<TreeNode>();
que.Enqueue(root);
TreeNode cur;
bool isEnd = false;
while(!isEnd){
for(int i = 0; i < que.Count; i++){
cur = que.Dequeue();
if(cur == null){
if(!isEnd) isEnd = true;
continue;
}
else{
if(isEnd) return false;
que.Enqueue(cur.left);
que.Enqueue(cur.right);
}
}
}
for(int i = 0; i < que.Count; i++){
cur = que.Dequeue();
if(cur == null){
if(!isEnd) isEnd = true;
continue;
}
else{
if(isEnd) return false;
que.Enqueue(cur.left);
que.Enqueue(cur.right);
}
}
return true;
}
}