LeetCode 151
https://leetcode.cn/problems/reverse-words-in-a-string/description/
难度:中等
先翻转整个字符串,再分别翻转每一个单词。
时间复杂度:O(n),其中 n 为输入字符串的长度。
空间复杂度:O(n),用来存储字符串分割之后的结果。
class Solution {
public:
string reverseWords(string s) {
string str;
reverse(s.begin(), s.end());
string path;
for (char c: s) {
if (c == ' ' && path.size() > 0) {
reverse(path.begin(), path.end());
if (str.size() > 0) {
str += " ";
}
str += path;
path = "";
}
if (c != ' ') {
path.push_back(c);
}
}
if (path.size() > 0) {
reverse(path.begin(), path.end());
if (str.size() > 0) {
str += " ";
}
str += path;
}
return str;
}
};