思路:将题目给的字符串存放到字符串数组中,然后根据题目要求来操作
模板1:如果有前后置空格,那么必须判断临时字符串非空才能输出,否则会输出空串
s += " "; //这里在最后一个字符位置加上空格,这样最后一个字符串就不会遗漏
string temp = ""; //临时字符串
vector<string> res; //存放字符串的数组
for (char ch : s) //遍历字符句子
{
if (ch == ' ') //遇到空格
{
if (!temp.empty()) //临时字符串非空
{
res.push_back(temp);
temp.clear(); //清空临时字符串
}
}
else
temp += ch;
}
模板2:没有前后置的空格不需要判断空串
s += " ";
string temp = "";
vector<string> res;
for (char ch : s)
{
if (ch == ' ')
{
res.push_back(temp);
temp.clear();
}
else
temp += ch;
}
leetcode例题:58,557,剑指 Offer 58 - I. 翻转单词顺序