-
发表于 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; } };
- LC 题目链接
-