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.
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.
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.
2 <= s.length <= 200
sconsists of lowercase and uppercase English letters, spaces, and digits from
- The number of words in
- The words in
sare separated by a single space.
scontains no leading or trailing spaces.
Split to words and base on the last character of each word to rebuild a sentence.
class Solution: def sortSentence(self, s: str) -> str: words = s.split() results = [None for i in range(len(words))] for word in words: i = int(word[-1]) results[i - 1] = word[:len(word) - 1] return " ".join(results)
- Time Complexity: O(N).
- Space Complexity: O(N).