模板代码
字符串处理这类题目可以分为两类,一类是有前置或者后置空格的,另一类是没有前置和后置空格的。 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; } 复制代码