2109. 向字符串添加空格

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;
    }
};

Guess you like

Origin blog.csdn.net/qq_32355021/article/details/125753300