题解 | #参数解析#

参数解析

https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677

对字符串的操作,无非就是substr了,找到start 与 end 位置 就ok了,难度偏简单吧,偏基础
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
string s1;
bool flag = true;
vector<string>ans;
int main() {
    getline(cin, s1);
    int start = 0;
    int end = 0;
    for (int i = 0; i < s1.size(); i++) {
        if (flag && (s1[i] == ' '||i==s1.size()-1)) {
            end = i;
            if (s1[start] == '"' && s1[end - 1] == '"')
                ans.push_back(s1.substr(start + 1, end - 1 - start - 1));
            else if (i == s1.size() - 1)
                ans.push_back(s1.substr(start, end - start + 1));
            else
                ans.push_back(s1.substr(start, end - start));
            start = end + 1;
            continue;
        }
        else if (flag && s1[i] != ' '&& s1[i] != '"') {
            continue;
        }
        else if (s1[i] == '"') {
            flag = !flag;
            if(i==s1.size()-1)
                ans.push_back(s1.substr(start+1, i - start-1));
            continue;
        }
        else
            continue;
    }
    int n = ans.size();
    cout << n << endl;
    for (auto c : ans)
    {
        cout << c << endl;
    }
    return 0;
}


全部评论

相关推荐

06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务