题目链接
分析
双指针遍历字符串,每次 $i$ 走到 $spaces[idx]$ 的值就加入一个空格,再将 $idx$ 的值 $+1$
代码实现
class Solution {
public:
string addSpaces(string s, vector<int>& spaces) {
string ans;
int idx = 0;
for(int i = 0; i < s.size(); ++i) {
if(idx < spaces.size() && i == spaces[idx]) {
ans += ' ';
idx++;
}
ans += s[i];
}
return ans;
}
};
复杂度分析
- 时间复杂度:$O(n)$
- 空间复杂度:$O(n)$