给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:
输入: “Let’s take LeetCode contest”
输出: “s’teL ekat edoCteeL tsetnoc”
注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
思路:
利用vector,单独储存每一个单词,再反转
class Solution {
public:
string reverseWords(string s)
{
vector<string> temp;
string str="";
for (int i = 0; i < s.size(); ++i)
{
if (s[i] != ' ')
{
str += s[i];
}
else
{
temp.push_back(str);
str = "";
}
}
temp.push_back(str);
str = "";
for (int i = 0; i < temp.size(); ++i)
{
reverse(temp[i].begin(), temp[i].end());
str += temp[i];
if(i!=temp.size()-1)
str += " ";
}
return str;
}
};