首页 > 代码库 > Reverse Words in a String
Reverse Words in a String
Reverse Words in a String
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
1 class Solution { 2 public: 3 void reverseWords(string &s) { 4 char c; 5 int i,j,k; 6 i = 0; 7 while(s[i] == ‘ ‘) 8 { 9 s.erase(0,1);10 }11 int len = strlen(s.c_str());12 j = len-1;13 while (s[j] == ‘ ‘)14 {15 s.erase(j,1);16 j--;17 }18 len = strlen(s.c_str());19 i = 0;20 j = len-1;21 while (i < j)22 {23 c = s[i];24 s[i] = s[j];25 s[j] = c;26 i++;27 j--;28 }29 i = 0;30 while (true)31 {32 if (s[i] == ‘\0‘)33 break;34 while(s[i] == ‘ ‘)35 i++;36 j = i;37 while (s[j] != ‘ ‘ && s[j] != ‘\0‘)38 j++;39 k = i;40 i = j;41 j--;42 while (k < j)43 {44 c = s[k];45 s[k] = s[j];46 s[j] = c;47 k++;48 j--;49 }50 }51 for (i=1; i < len; i++)52 {53 if (s[i] == ‘ ‘ && s[i-1] == ‘ ‘)54 {55 s.erase(i,1);56 len--;57 i--;58 }59 }60 }61 };
记得先处理前后和中间多余的空格。
Reverse Words in a String
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。