通过层次遍历计算二叉树的层数
计算二叉树的层数
int getLevel(BinaryTree root){
int last, level, front, rear;
last = level = 0;
front = rear = -1;
TreeNode *data[MAXSIZE]; //队列足够大
TreeNode *p = root;
data[++rear] = p; //根结点入队
while(front < rear){
p = data[++front];
if(p->lChild){
data[++rear] = p->lChild
}
if(p->rChild){
data[++rear] = p->rChild;
}
if(front == last){
level ++;
last = rear;
}
}
return level;
}
本作品采用《CC 协议》,转载必须注明作者和本文链接