Drill

ProblemsJava › warmup

Reverse the order of the words

easywarmupStringsParsingJava

A text filter turns a sentence back to front, word by word, without disturbing the words themselves.

reverseWords(text: string) → string

Java needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.

Solve it in Python →

Where you start

String reverseWords(String text) {
    
}

Worked examples

CallResult
reverseWords("the quick brown fox")"fox brown quick the"
reverseWords(" a b ")"b a"
reverseWords("one")"one"
reverseWords("")""

Hint

Split on whitespace, reverse the list, join with a single space.

Reference solution in Java
String reverseWords(String text) {
    List<String> words = new ArrayList<>();
    for (String w : text.trim().split("\\s+")) if (!w.isEmpty()) words.add(w);
    Collections.reverse(words);
    return String.join(" ", words);
}

The same problem in another language

More warmup problems in Java