原题地址(中等)
这题主要考察的是对字符串的操作。
方法1
直接用Python的语言特性,一行代码搞定。。。。。**
class Solution:
def reverseWords(self, s: str) -> str:
return " ".join(reversed(s.split()))
方法2
**
考验字符串操作,把字符串中的单词一个个的拿出来存到vector中,然后反向遍历vector就可以了。
class Solution {
public:
string reverseWords(string s) {
vector<string> v;
int i = 0, begin, end;
while(i < s.size()){
while(s[i] == ' ')
i++;
begin = i;
while(i < s.size() && s[i] != ' ')
i++;
end = i - 1;
if(end >= begin)
v.push_back(s.substr(begin, end-begin+1));
}
string ans = "";
for(int k=v.size()-1; k >= 0; k--){
if(k != 0) ans = ans + v[k] + " ";
else ans += v[k];
}
return ans;
}
};
时空复杂度
都是 O(N)