/**
* 2020-04-30
* 当第n层的最后一个结点被访问时,第n+1层的最后一个结点已经入队
*/
int getWidthOfBinTree(BTNode T) {
if(!T) return;
BTNode Q[MAX], last == T;
int r, f, max, max_tmp;
r = f = max= max_tmp = 0;
Q[++r] = T;
while(r != f) {
BTNode p = Q[++f];
++max_tmp;
if(p->lChild != NULL) Q[++r] = p->lChild;
if(p->rChild != NULL) Q[++r] = p->rChild;
if(p == pre) {
max = max > max_tmp ? max : max_tmp;
max_tmp = 0;
last = Q[r];
}
}
return max;
}
层次遍历获取二叉树的宽度
最新推荐文章于 2022-11-25 19:38:14 发布