Given an input string, reverse the string word by word. For example, Given s = "the sky is blue", return "blue is sky the".
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 }