求二叉树的深度和宽度

来源:互联网 发布:爱国者之日 知乎 编辑:程序博客网 时间:2024/06/05 11:25

int  getwidth(treeNode *root){     if(root == NULL)     return 0;     queue<treeNode*>s;     int width = 1;     int currsize = 1,tmpsize;     s.push(root);     while(!s.empty()){           tmpsize = currsize;           while(tmpsize != 0){      //这里是关键,把上一层的所有节点都出队列,然后把下一层的节点加入队列                 treeNode* tp = s.front();                 s.pop();                 if(tp->left)                 s.push(tp->left);                 if(tp->right)                 s.push(tp->right);                 tmpsize--;           }           if(s.size() > width){                 width = s.size();                       }     }}

0 0
原创粉丝点击