刘珊睿_Theory level
获赞
43
粉丝
6
关注
10
看过 TA
47
北京邮电大学
2021
Java
IP属地:未知
暂未填写个人简介
私信
关注
头像
2020-04-05 22:22
Java
二叉树层序遍历,给今天的肝画上句号吧两天刷了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ㄒ)/~~
投递牛客等公司10个岗位
0 点赞 评论 收藏
转发
头像
2020-04-04 17:02
Java
菜鸡啊啊啊啊啊啊啊啊,字节跳动面试考的这个,没刷过原题,自己有没可能想出来,然后就,当场宣判***。。。string ReverseSentence(string str) {        int len = str.length();        reverse(str.begin(),str.end());//reverse函数不会用,当然这个思路我也想不到,提醒我也不会        int k = 0;        for(int i = 0; i            if(str[i] == ' &(234)#39;){                reverse(str.begin()+k, str.begin()+i); //为什么是 +i 不是 +(i - 1)                k = i + 1;            }        }        reverse(str.begin() + k, str.begin()+len); //不出意外,这里忘记了。最后一个segment就这样被遗忘了,或者字符串就一个segment也就翻不过来了        return str;    } 1.我根本忘记了reverse函数,所以面试官提醒我思路我也做不出;2.看了别人代码自己再写,还TM出了两个错误:a.for循环出来之后要把最后一个segment的字段翻一遍,这个,循环:臣妾做不到啊;b.end()是超尾的,那么reverse的第二个参数就要注意了,不用-1!!!补充知识:c.begin();——返回指向容器最开始位置数据的指针​c.end();——返回指向容器最后一个数据单元+1的指针​下次再做,我估计还会在同一个地方跌跟头,人类的本质是重蹈覆辙。(狂扇自己耳光ing。。。)
投递字节跳动等公司10个岗位
0 点赞 评论 收藏
转发
牛客网
牛客企业服务