二叉树层序遍历,给今天的肝画上句号吧
两天刷了20题,早点来牛客就好了,走了好多弯路啊/(ㄒoㄒ)/~~
vector<int> PrintFromTopToBottom(TreeNode* root) {
        //层序遍历?
        vector<int> res;
        
        if(!root)
            return res;
        
        queue<TreeNode*> q;
        q.push(root);
        
        while(!q.empty()){
            TreeNode* n = q.front();
            q.pop();
            
            res.push_back(n->val);
            
            if(n->left){
                q.push(n->left);
            }
            if(n->right){
                q.push(n->right);
            }
        }
        return res;
    }

调试除了很多细节问题:
1.忘记先判断空树并返回;
2.在while循环里,新建的树节点n忘记用了,底下压入左右子树都习惯性写成了root->left和root->right.

不过,这次倒是没有忘记q.pop()这一步,但是又犯了其他更严重的错误
难道菜鸡的错误是守恒的吗

日常许愿,求求了给我个面试的机会吧/(ㄒoㄒ)/~~
全部评论

相关推荐

06-25 09:33
厦门大学 Java
程序员饺子:现在日常估计没啥hc了,等到八月多估计就慢慢有了。双九✌🏻不用焦虑的
投递快手等公司8个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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