- 先将字符串整体翻转
reverse(str.begin(), str.end());
- 确定每个单词的起止位置,翻转单词
int start = 0;
int end = 0;
bool flag = false;
for (int i = 0; i < str.size(); i++) {
if (!flag) {
start = i;
flag = true;
}
if (flag && str[i] == ' ') {
end = i;
flag = false;
reverse(str.begin() + start, str.begin() + end);
}
if (flag && i == str.size() - 1) {
reverse(str.begin() + start, str.end());
}
}