菜鸡啊啊啊啊啊啊啊啊,字节跳动面试考的这个,没刷过原题,自己有没可能想出来,然后就,当场宣判***。。。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;){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。。。)