LeetCode in Kotlin

2000. Reverse Prefix of Word

Easy

Given a 0-indexed string word and a character ch, reverse the segment of word that starts at index 0 and ends at the index of the first occurrence of ch (inclusive). If the character ch does not exist in word, do nothing.

Return the resulting string.

Example 1:

Input: word = “abcdefd”, ch = “d”

Output: “dcbaefd”

Explanation: The first occurrence of “d” is at index 3.

Reverse the part of word from 0 to 3 (inclusive), the resulting string is “dcbaefd”.

Example 2:

Input: word = “xyxzxe”, ch = “z”

Output: “zxyxxe”

Explanation: The first and only occurrence of “z” is at index 3.

Reverse the part of word from 0 to 3 (inclusive), the resulting string is “zxyxxe”.

Example 3:

Input: word = “abcd”, ch = “z”

Output: “abcd”

Explanation: “z” does not exist in word.

You should not do any reverse operation, the resulting string is “abcd”.

Constraints:

Solution

class Solution {
    fun reversePrefix(word: String, ch: Char): String {
        var i = 0
        var j = word.indexOf(ch)
        val charArr = word.toCharArray()
        while (i < j) {
            val temp = charArr[i]
            charArr[i] = charArr[j]
            charArr[j] = temp
            i++
            j--
        }
        return String(charArr)
    }
}