您的位置:首页 > 其它

LeetCode - Refresh - Reverse Words in a String II

2015-03-23 10:20 267 查看
Reverse in place:

1. reverse the whole sentence.

2. reverse every word.

We cant do it for I, because there are extra spaces in sentence.

class Solution {
public:
void reverse(string &s, int start, int end) {
while (start < end) {
[](char &a, char &b) {char c = a; a = b; b = c;}(s[start++], s[end--]);
}
}
void reverseWords(string &s) {
int len = s.size(), index = 0;
reverse(s, 0, len-1);
for (int i = 0; i < len; i++) {
if (s[i] == ' ') {
reverse(s, index, i-1);
index = i+1;
}
}
reverse(s, index, len-1);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: