← Strings

Reverse Words

Medium
Python
def reverse_words(s):
    return ' '.join(s.split()[::-1])
Java
public String reverseWords(String s){
    String[] w=s.trim().split("\\s+");
    StringBuilder sb=new StringBuilder();
    for(int i=w.length-1;i>=0;i--){
        sb.append(w[i]);
        if(i>0) sb.append(' ');
    } return sb.toString();
}

Key Insight

Python one-liner. Java needs regex for multiple whitespace.

Python → Java Differences

  • Python one-liner split+reverse+join
  • Java regex \\s+ for whitespace
  • join vs StringBuilder
Python
def reverse_words(s):
    return ' '.join(s.split()[::-1])
Java
public String reverseWords(String s){
    String[] w=s.trim().split("\\s+");
    StringBuilder sb=new StringBuilder();
    for(int i=w.length-1;i>=0;i--){
        sb.append(w[i]);
        if(i>0) sb.append(' ');
    } return sb.toString();
}

Algorithm Steps

1. Split
2. Reverse
3. Join