Medium
Adding Spaces to a String — C++
Full explanation · Time O(n) · Space O(1)
// Time: O(n)
// Space: O(1)
// inplace solution
class Solution {
public:
string addSpaces(string s, vector<int>& spaces) {
int prev = size(s);
s.resize(size(s) + size(spaces));
for(int i = size(spaces) - 1; i >= 0; --i) {
for (int j = prev - 1; j >= spaces[i]; --j) {
s[j + 1 + i] = s[j];
}
s[spaces[i] + i] = ' ';
prev = spaces[i];
}
return s;
}
};