leetcode力扣刷题打卡
题目:2109. 向字符串添加空格
描述:给你一个下标从 0 开始的字符串 s ,以及一个下标从 0 开始的整数数组 spaces 。
数组 spaces 描述原字符串中需要添加空格的下标。每个空格都应该插入到给定索引处的字符值 之前 。
例如,s = “EnjoyYourCoffee” 且 spaces = [5, 9] ,那么我们需要在 ‘Y’ 和 ‘C’ 之前添加空格,这两个字符分别位于下标 5 和下标 9 。因此,最终得到 “Enjoy Your Coffee” 。
请你添加空格,并返回修改后的字符串。
解题思路
1、看代码。
原代码##
class Solution {
public:
string addSpaces(string s, vector<int>& spaces) {
int ind = 0;
string ans = "";
for (int j = 0; j < s.size(); ++j) {
if (j < spaces[ind]) {
ans += s[j];
} else if (j == spaces[ind]) {
ans += " ";
ind++;
j--;
if (ind == spaces.size()) {
ind--;
spaces[ind] = s.size();
}
}
}
return ans;
}
};