✨题目
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
✨示例
输入:“Let’s take LeetCode contest”
输出:“s’teL ekat edoCteeL tsetnoc”
✨提示
- 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
 
✨解题
- 根据最近做题的思路来看,最容易想到的就是对每一个单词做翻转的操作,然后按照原来的顺序拼在一起。但是时间复杂度比较高,应该是过不了这个题的。
 - 第二个思路就是,遍历一次字符串,然后找到每个单词第一个字母的位置,和其后面第一个空格的位置

class Solution {public:string reverseWords(string s) {int len = s.length();int i = 0;string ans;while(i < len){int start = i;while(i < len && s[i] != ' '){i++;}for(int p = start;p < i;p++){ans.push_back(s[start + i - 1 -p]);}while(i < len && s[i] == ' '){i++;ans.push_back(' ');}}return ans;}};
 
