首页 > 其他 > 详细

LeetCode Reverse Words in a String

时间:2014-04-04 08:23:45      阅读:477      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
class Solution {
public:
    void reverseWords(string &s) {
        int len = s.length();
        reverse(s.begin(), s.end());
        int wpos = 0;
        for (int p=0, q=0; p < len; p = q) {
            while ((p<len) && (s[p] ==  )) p++;
            q = p;
            while ((q<len) && (s[q] !=  )) q++;
            reverse(s.begin() + p, s.begin() + q);
            if (wpos != 0 && p < q) s[wpos++] =  ;
            for (int i=p; i<q; i++) {
                s[wpos++] = s[i];
            }
        }
        if (wpos != len) s = s.substr(0, wpos);
    }
};
bubuko.com,布布扣

还要处理多余空格

LeetCode Reverse Words in a String,布布扣,bubuko.com

LeetCode Reverse Words in a String

原文:http://www.cnblogs.com/lailailai/p/3644303.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!