题解 | #二叉树的深度#

二叉树的深度

https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b

lass Solution {
public:
    int TreeDepth(TreeNode* pRoot) {
        queue<TreeNode*> myqueue;
        vector<int> nodenumber={0};
        if (pRoot==NULL) return 0;
        else {
            myqueue.push(pRoot);
            nodenumber[1]=1;
        }
        int k=1;//从第一层开始
        bool havelevel=true;//此层有节点
        while(havelevel==true){
            int havenextlevel=0;
            for(int i=1;i<=nodenumber[k];i++){//遍历每一层的所有节点
                
                if(!myqueue.empty()){
                    TreeNode *first=myqueue.front();
                    if(first->left!=NULL){
                        myqueue.push(first->left);
                        nodenumber[k+1]++;
                        havenextlevel=1;
                    }
                    if(first->right!=NULL){
                        myqueue.push(first->right);
                        nodenumber[k+1]++;
                        havenextlevel=1;
                    }
                    myqueue.pop();
                }
            }
            if(havenextlevel==0){
                havelevel=false;
            }
            else{
                k++;
            }
        }
        return k;
    }
};
全部评论

相关推荐

01-14 12:08
门头沟学院 Java
神哥了不得:(非引流)1.既然发出来了简历,就稍微提一点点小建议,确实简历很不错了,练手项目可以换一些质量高的,工作内容,可以加上一些量化指标,比如第一条系统响应速度由多少变成多少,减少了百分之多少,第4条就很不错。2.广投,年前实习招募比较少了
点赞 评论 收藏
分享
2024-12-12 13:02
已编辑
安徽师范大学 前端工程师
lllllkin:1、基本信息内至少三行废话; 2、专业能力描述 太笼统 没有与意向岗位明显匹配的细节能力 3、获奖经历 立项没用,不如写立项题目 你做了啥,况且 CET-4 默认具备 且 cet4 、‘立项’根本不算奖项, 计算机设计自己做的 都可以单独拉一个项目出来(没有就算了) 4、①②③③全是库库库,④ 听说你设计了一个 ‘通信’? ; 第二个:三行废话 ... 5、挺优秀的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务