通过层次遍历计算二叉树的层数

计算二叉树的层数

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 协议》,转载必须注明作者和本文链接
blabla
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!