.
题目
Given a string s, reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.
Example 1:
Input: s = “Let’s take LeetCode contest”
Output: “s’teL ekat edoCteeL tsetnoc”
Example 2:
Input: s = “God Ding”
Output: “doG gniD”
Constraints:
- 1 <= s.length <= 5 * 10^4
- s contains printable ASCII characters.
- s does not contain any leading or trailing spaces.
- There is at least one word in s.
- All the words in s are separated by a single space.
.
代码
class Solution {
public:
string reverseWords(string s) {
string rev, tmp;
for(int i = 0; i<s.size(); i++){
if(s[i] == ' '){
reverse(tmp.begin(), tmp.end());
rev += tmp + ' ';
tmp.clear();
}else
tmp.push_back(s[i]);
}
reverse(tmp.begin(), tmp.end());
rev += tmp;
return rev;
}
};
和541是系列题目,也是一次AC ^ _________________________ ^
不过效率也有待提高~欢迎评论区讨论!