1 /** 2 * 3 */ 4 package solution; 5 6 /** 7 * @author whh 8 * 9 * Given an input string, reverse the string word by word. For example, 10 * Given s = "the sky is blue", return "blue is sky the". 11 */ 12 public class ReverseWordsInAString { 13 14 /** 15 * @param args 16 */ 17 public static void main(String[] args) { 18 String s = " the sky is blue "; 19 System.out.println(s); 20 System.out.print(reverseWords(s)); 21 } 22 23 /** 24 * @param s 25 * @return 26 */ 27 public static String reverseWords(String s) { 28 s = s.replaceAll(" +", " "); 29 String[] s_array = s.split(" "); 30 StringBuilder builder = new StringBuilder(); 31 for (int i = s_array.length - 1; i > -1; i--) { 32 builder.append(s_array[i]); 33 builder.append(" "); 34 } 35 36 return builder.toString().trim(); 37 } 38 }