LeetCode in Kotlin

2109. Adding Spaces to a String

Medium

You are given a 0-indexed string s and a 0-indexed integer array spaces that describes the indices in the original string where spaces will be added. Each space should be inserted before the character at the given index.

Return the modified string after the spaces have been added.

Example 1:

Input: s = “LeetcodeHelpsMeLearn”, spaces = [8,13,15]

Output: “Leetcode Helps Me Learn”

Explanation:

The indices 8, 13, and 15 correspond to the underlined characters in “LeetcodeHelpsMeLearn”.

We then place spaces before those characters.

Example 2:

Input: s = “icodeinpython”, spaces = [1,5,7,9]

Output: “i code in py thon”

Explanation:

The indices 1, 5, 7, and 9 correspond to the underlined characters in “icodeinpython”.

We then place spaces before those characters.

Example 3:

Input: s = “spacing”, spaces = [0,1,2,3,4,5,6]

Output: “ s p a c i n g”

Explanation: We are also able to place spaces before the first character of the string.

Constraints:

Solution

class Solution {
    fun addSpaces(s: String, spaces: IntArray): String {
        val stringChars = CharArray(s.length + spaces.size)
        for (i in spaces.indices) {
            stringChars[spaces[i] + i] = ' '
        }
        var equivalentIndex = -1
        var i = 0
        while (i < s.length) {
            equivalentIndex++
            if (stringChars[equivalentIndex] == ' ') {
                i--
            } else {
                stringChars[equivalentIndex] = s[i]
            }
            i++
        }
        return String(stringChars)
    }
}
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy