[LeetCode]#1859. Sorting the Sentence

Environment: Python 3.8

Key technique: dictionary

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.

Analysis:

  1. split input
  2. Use dictionary. key is last number and value is other word.
  3. Combine them based on key order 1, 2, 3…etc.
  4. In my code, delete last string ‘ ‘.

Solution:

class Solution:
def sortSentence(self, s: str) -> str:
temp= s.split()
word={}
ans=''
for i in temp:
word[i[-1]]= i[:-1]
for i in sorted(word):
ans=ans+''.join(word[i])+' '
ans=ans[:-1]
return ans

Submissions:

Interesting in any computer science.