LeetCode in Kotlin

1859. Sorting the Sentence

Easy

A sentence is a list of words that are separated by a single space with no leading or trailing spaces. Each word consists of lowercase and uppercase English letters.

A sentence can be shuffled by appending the 1-indexed word position to each word then rearranging the words in the sentence.

Given a shuffled sentence s containing no more than 9 words, reconstruct and return the original sentence.

Example 1:

Input: s = “is2 sentence4 This1 a3”

Output: “This is a sentence”

Explanation: Sort the words in s to their original positions “This1 is2 a3 sentence4”, then remove the numbers.

Example 2:

Input: s = “Myself2 Me1 I4 and3”

Output: “Me Myself and I”

Explanation: Sort the words in s to their original positions “Me1 Myself2 and3 I4”, then remove the numbers.

Constraints:

Solution

import java.util.TreeMap

class Solution {
    fun sortSentence(s: String): String {
        val words = s.split(" ".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
        val treeMap = TreeMap<Int, String>()
        for (word in words) {
            val key = (word[word.length - 1].toString() + "").toInt()
            treeMap[key] = word.substring(0, word.length - 1)
        }
        val sb = StringBuilder()
        for ((_, value) in treeMap) {
            sb.append(value)
            sb.append(" ")
        }
        return sb.substring(0, sb.length - 1)
    }
}
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