二叉树层序遍历,给今天的肝画上句号吧
两天刷了20题,早点来牛客就好了,走了好多弯路啊/(ㄒoㄒ)/~~
vector PrintFromTopToBottom(TreeNode* root) {
        //层序遍历?
        vector res;
        
        if(!root)
            return res;
        
        queue 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ㄒ)/~~
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务