Sorting the Sentence LeetCode Solution - The Coding Shala

Home >> LeetCode >> Sorting the Sentence

In this post, we will learn how to solve LeetCode's Sorting the Sentence Problem and will implement its solution in Java.

Sorting the Sentence Problem

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"

Practice this problem on LeetCode.

LeetCode - Sorting the Sentence Java Solution

Approach 1

First, change the string into the array by using split. In the next step use a custom Comparator to sort the array.

Java Program:

```class Solution {
public String sortSentence(String s) {
String[] arr = s.split(" ");
Arrays.sort(arr, new Comparator<String>() {
public int compare(String s1, String s2) {
int ch1 = s1.charAt(s1.length()-1);
int ch2 = s2.charAt(s2.length()-1);
if(ch1 <= ch2) {
return -1;
} else return 1;
}
});
StringBuilder str = new StringBuilder();
for(String st : arr) {
String temp = st.substring(0, st.length()-1);
str.append(temp + " ");
}
return str.toString().trim();
}
}
```

Other Posts You May Like