//cpp
class Solution {
public:
string reverseWords(string s) {
for (int i = 0; i < s.length(); i++) {
if (s[i] != ' ') { //i指向第一个非空格
int j = i;
for (; j < s.length() && s[j] != ' '; j++) {} //j指向下一个空格
reverse(s.begin()+i, s.begin()+j);//反转(i,j-1)之间的元素
i = j; // 更新i
}
}
return s;
}
};
解法二:py
将s按空格split成列表words,然后对words每个元素反转存在reverse中。
然后用join函数连接reverse中元素。
class Solution:
def reverseWords(self, s: str) -> str:
words = s.split(" ")
reverse = [] #每个单词反转的列表
for word in words:
word = word[::-1]
reverse.append(word)
return " ".join(reverse) #用空格连接