leetcode 151. Reverse Words in a String

来源:互联网 发布:java jchardet 编辑:程序博客网 时间:2024/06/10 06:22
class Solution {public:void reverseWords(string &s){int i = 0;int left = 0, right = 0;bool flag = false;while (true){while (i < s.size() && s[i] == ' '){i++;}if (i >= s.size()){break;}if (flag){s[right++] = ' ';}left = right;while (i < s.size() && s[i] != ' '){s[right++] = s[i++];}reverse(s, left, right);flag = true;}s.resize(right);reverse(s, 0, right);}private:void reverse(string&s, int left, int right){while (left < right){swap(s[left++], s[--right]);}}};

0 0