首页 > 代码库 > 将字符串反向
将字符串反向
小米的一道笔试题
输入“hello xiao mi”,输出“mi xiao hello”
很基础的一道题,个人觉得不好做的地方在于,如何输入带空格的字符串;
substr中,第二个参数表示个数。
下面的代码不知道时间上能不能通过。
void reverse(const string& line){ string result = " "; int i = 0; int k = 0; for (int j = 0; j < line.size(); j++) { if (line[j] == ‘ ‘) { k++; if (k == 1)//如果是第一个串,后面不要加空格 result.insert(0, line.substr(i, j)); else { //否则后面加空格 result.insert(0, line.substr(i, j - i + 1)); } i = j + 1; } if (j == line.size() - 1) { //最后一个需要补空格 result.insert(0, line.substr(i, j - i + 1) + " "); } } cout << result;}int main(){ string line; while (getline(cin,line)) { reverse(line); cout << endl; } return 0;}
将字符串反向
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。