//实际上是需要一个维护一个队列和一个栈。按照层次遍历入队,但是弹出的指针进入栈,最后对栈进行Pop就可得到逆序的层序遍历
//在原层序遍历的基础代码上进行简单的修改,即将visit()改为Push(S,p)
void InvertLevel(BiTree T){
BiTree p = T//工作指针
InitQueue(Q);
InitSlack(S);
EnQueue(S,p);//根指针入队列
while (!IsEmpty(Q))
{
DeQueue(Q,p);
Push(S,p);
if(p->left!=NULL){
EnQueue(Q,p->left);
}
if(p->right!=NULL){
EnQueue(Q,p->right)
}
}
while(!IsEmpty(S))
{
Pop(S,p);
Visit(p->data);
}
}