class Solution {
public:
    /**
    层次遍历
     */
    bool isCompleteTree(TreeNode* root) {
        // write code here
        if(root==NULL) return true;
        queue<TreeNode*> qu;
        qu.push(root);
        while(!qu.empty()){
            TreeNode* tmp = qu.front();
            qu.pop();
            if(tmp==NULL) break;  // 已经有空节点 跳出循环
            qu.push(tmp->left);
            qu.push(tmp->right);
        }
        while(!qu.empty()){  // 如果队列中还有非空节点
            TreeNode* tmp = qu.front();
            qu.pop();
            if(tmp) return false; // 则不是完全二叉树
        }
        return true;
    }
};