题解 | #二叉树的深度#

二叉树的深度

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;
    }
};
全部评论

相关推荐

2025-12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务