JZX轻语:简
LeetCode 2109 - 向字符串添加空格
发表于2025年04月05日
使用两个指针维护当前字符串s
的索引和空格数组spaces
的索引。我们从左到右遍历字符串s
,如果当前s
的索引等于空格数组中索引指向的位置,则在结果字符串中添加一个空格,并将空格数组的索引加一(往右移动到下一个需要加空格的地方)。按需处理完空格后,将当前字符添加到结果字符串中。最终返回结果字符串即可。
class Solution {
public:
string addSpaces(string s, vector<int>& spaces) {
string ret(s.size() + spaces.size(), ' ');
int ret_pos = 0, spaces_pos = 0;
for (int i = 0; i < s.size(); ++i) {
if (spaces_pos < spaces.size() && spaces[spaces_pos] == i) {
++ret_pos; ++spaces_pos;
}
ret[ret_pos++] = s[i];
}
return ret;
}
};