题解 | #参数解析#

参数解析

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

#include <bits/stdc++.h>

using namespace::std;

int main() {

string str;

while (getline(cin, str)) {
    vector<string> vec;
    int j = 0; //记录起始索引
    for (int i = 0; i < str.size(); i++) {
        if (' ' == str[i]) {
            if (i != j) { //避免空串
                vec.push_back(str.substr(j, i - j));
            }
            j = i + 1;
        } else if ('"' == str[i]) {
            j = i + 1;
            i++;
            while (str[i] != '"') {
                i++;
            }
            if (i != j) {
                vec.push_back(str.substr(j, i - j));
            }
            j = i + 1;
        }
    }
    if (j < str.size()) { // 最后如果还剩一串字符
        vec.push_back(str.substr(j, str.size() - j));
    }
    cout << vec.size() << endl;
    for (auto const &v : vec) {
        cout << v << endl;
    }
}

return 0;

}

全部评论

相关推荐

2025-11-13 12:02
门头沟学院 Java
我要娶个什么名:好骂,好骂 别学计算机就行了
点赞 评论 收藏
分享
2025-12-30 14:09
已编辑
北京交通大学 算法工程师
字节跳动 训练框架研发 (N+2) * (12 + 3) 硕士211
Crinton:训练框架遥遥领先
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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