判断是否为完全二叉树
bool check(BiTree T)
{
if (T == NULL)
return false;
queue<BiTree> Q;
Q.push(T);
while (!Q.empty())
{
BiTree p = Q.front();
Q.pop();
if (p->left && p->right) {
Q.push(p->left);
Q.push(p->right);
}
else if(p->right && p-left == NULL)
return false;
else
{
if(p->left && p-right == NULL)
Q.push(p->left);
while(!Q.empty())
{
p = Q.front(); Q.pop();
if(p->left || p->right)
return false;
}
}
}
return true;
}//时间复杂度为O