bool isComplete(BinaryTree root){
if(!root) return false;
TreeNode *p = root;
SqQueue q;
initQueue(q);
enQueue(q, p); //根結點入隊
while(!isEmpty(q)){
deQueue(q, p);
if(p){
enQueue(q, p->lChild);
enQueue(q, p->rChild);
}else{
while(!isEmpty(q)){
deQueue(q, p);
if(p) return false; //結點非空則不是完全二叉樹
}
}
}
return true;
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結