通過層次遍歷計算二叉樹的層數

blabla發表於2019-11-18

計算二叉樹的層數

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 協議》,轉載必須註明作者和本文連結

相關文章