菜鸡啊啊啊啊啊啊啊啊,字节跳动面试考的这个,没刷过原题,自己有没可能想出来,然后就,当场宣判***。。。
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。。。)
string ReverseSentence(string str) {
int len = str.length();
reverse(str.begin(),str.end());//reverse函数不会用,当然这个思路我也想不到,提醒我也不会
int k = 0;
for(int i = 0; i
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++实现多么简单,可惜了,我没脑子啊
送花
回复
分享
相关推荐
点赞 评论 收藏
转发
点赞 评论 收藏
转发