二叉树层序遍历,给今天的肝画上句号吧
两天刷了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ㄒ)/~~






两天刷了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ㄒ)/~~
全部评论
相关推荐
11-09 20:02
中南大学 Java 我是猫熊:可以关注我的主页以及专栏https://www.nowcoder.com/creation/manager/columnDetail/MRwNAo,每天都会打卡更新面试题
查看17道真题和解析 点赞 评论 收藏
分享
牛牛大啊:腾娱有点假呀,腾娱用JAVA吗,而且感觉业务也是自己编的,感觉全是包装,缺乏真实性 点赞 评论 收藏
分享
10-17 12:31
重庆交通大学 技术支持工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
