力扣2788-按分隔符拆分字符串

按分隔符拆分字符串

题目链接

解题思路:

1 .传参是一个字符串数组,我们需要对每一个字符串处理

2 .解题中e是字符串数组中的每一个字符串

3 .i是每个字符串的下标,n为每个字符串的大小

4 .遍历整个字符串

5 .start是要切割的位置

class Solution {
public:
    vector splitWordsBySeparator(vector& words, char c) {
        vector res;

        for(auto e : words)
        {
            int i = 0, n = e.size();
            //i是每个字符串的下标
            while(i < n)
            {
                // 从第一个不是分隔符的位置开始
                if(e[i] == c)
                {
                    i++;
                    continue;
                }
                int start = i;
                i++;
                while(i < n && e[i] != c) i++;//没有碰见分隔符,i指针就一直后移
                res.push_back(e.substr(start, i - start));
                // i++ 为下一次循环做准备。
                i++;
            }
        }

        return res;
    }
};

你可能感兴趣的:(算法-每日一练,leetcode,矩阵,算法)