给定一个字符串 s
,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序
示例 1:
输入:s = "Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"
示例 2:
输入: s = "God Ding"
输出:"doG gniD"
class Solution {
public:
string& reverseWords(string &s)
{
int start_pos = 0;
int end_pos = 0;
//找寻空格的位置
while ((end_pos = s.find_first_of(' ',start_pos)) != string::npos)
{
//反转字符串中的单词
reverse(s.begin()+start_pos,s.begin()+end_pos);
start_pos = end_pos + 1;
}
//反转最后一个单词
reverse(s.begin()+start_pos,s.end());
return s;
}
};