1859. Sorting the Sentence

QUESTION:

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.

For example, the sentence “This is a sentence” can be shuffled as “sentence4 a3 is2 This1” or “is2 sentence4 This1 a3”. 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:

2 <= s.length <= 200
s consists of lowercase and uppercase English letters, spaces, and digits from 1 to 9.
The number of words in s is between 1 and 9.
The words in s are separated by a single space.
s contains no leading or trailing spaces.

EXPLANATION:

这道题目也是简单题目, 主要是考察数组的操作.
1.首先将原来的string进行排序, comparator是字符串的最后一位
2.然后对排序后的数组进行操作
3.将最后一位替换成空格,同时添加在result上
4.如果是数组的最后一个,那么就删除最后一位即可,添加到result上
5.返回result

SOLUTION:

class Solution {
    func sortSentence(_ s: String) -> String {
        var result = ""
        var substrings:[Substring] = s.split(separator: " ")
        let sstrings = substrings.sorted{(a1:Substring,a2:Substring) -> Bool in
            return Int(String(Array(String(a1)).last!))! < Int(String(Array(String(a2)).last!))!
        }
        for indice in sstrings.indices {
            var tmpArray = Array(String(sstrings[indice]))
            if indice == sstrings.count-1 {
                tmpArray = tmpArray.dropLast()
            } else {
                tmpArray[tmpArray.count-1] = " "
            }
            result += String(tmpArray)
        }
        return result
    }
}
>