菜鸡啊啊啊啊啊啊啊啊,字节跳动面试考的这个,没刷过原题,自己有没可能想出来,然后就,当场宣判***。。。

string ReverseSentence(string str) {
        int len = str.length();
        reverse(str.begin(),str.end());//reverse函数不会用,当然这个思路我也想不到,提醒我也不会
        int k = 0;
        for(int i = 0; i<len; i++){
            if(str[i] == &#39; &#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。。。)
全部评论
这个用C++实现多么简单,可惜了,我没脑子啊
点赞 回复 分享
发布于 2020-04-04 17:05

相关推荐

2025-12-29 22:34
武汉大学 Java
点赞 评论 收藏
分享
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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