码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode Reverse Words in a String 将串中的字翻转

时间:2014-11-27 23:29:45      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   sp   on   div   log   

 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 将串中的字翻转

标签:style   blog   io   ar   color   sp   on   div   log   

原文地址:http://www.cnblogs.com/xcw0754/p/4127275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!