首页 > 代码库 > LeetCode Reverse Words in a String 将串中的字翻转
LeetCode Reverse Words in a String 将串中的字翻转
1 class Solution { 2 public: 3 void reverseWords(string &s) { 4 string end="",tem=""; 5 char *p=&s[0]; 6 while(*p!=‘\0‘){ 7 while(*p==‘ ‘) //过滤多余的空格,针对串头 8 p++; 9 while(*p!=‘ ‘&&*p!=‘\0‘){ //积累一个单词,存于临时串10 tem=tem+*p;11 p++;12 }13 while(*p==‘ ‘) //过滤多余的空格,针对串尾14 p++;15 if(*p!=‘\0‘) //最后一个字不用加空格16 tem=‘ ‘+tem;17 end=tem+end;18 tem=""; //临时字符串清空19 }20 s=end;21 }22 };
题意:将字符串中的字按反序排列,每个字中间有一个空格,串前和串尾无空格。字的顺序不用改变,改变的是字在串中的顺序。
思路:过滤串的前面和后面的空格,用指针从前往后扫, 再用一个临时串保存字,满一个字的时候就添加在将最终的串的前面。扫完该串就将最终的串赋给s。
LeetCode Reverse Words in a String 将串中的字翻转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。