leetcode力扣刷题打卡
题目:2138. 将字符串拆分为若干长度为 k 的组
描述:字符串 s 可以按下述步骤划分为若干长度为 k 的组:
第一组由字符串中的前 k 个字符组成,第二组由接下来的 k 个字符串组成,依此类推。每个字符都能够成为 某一个 组的一部分。
对于最后一组,如果字符串剩下的字符 不足 k 个,需使用字符 fill 来补全这一组字符。
注意,在去除最后一个组的填充字符 fill(如果存在的话)并按顺序连接所有的组后,所得到的字符串应该是 s 。
给你一个字符串 s ,以及每组的长度 k 和一个用于填充的字符 fill ,按上述步骤处理之后,返回一个字符串数组,该数组表示 s 分组后 每个组的组成情况 。
解题思路
1、先补齐再拆分会好写一点;
原代码##
class Solution {
public:
vector<string> divideString(string s, int k, char fill) {
vector<string>v;
while (s.size() % k) s += fill;
int i = 0;
while (i < s.size()) {
v.push_back(s.substr(i, k));
i += k;
}
return v;
}
};