LeetCode OJ - Reverse Words in a String

LeetCode上目前只提供Java、C++、Python,我都采用Java.

这道题是一个简单题(借助Java String提供的trim()和spilt()),需要注意的是题目的具体要求:

1. 反转后的字符串首尾的空格需去掉;

2. 单词与单词之间若有多个空格,反转后只能保留一个空格。

下面是AC代码:

 1 /**
 2      * Given an input string, reverse the string word by word.
 3      * 这题用java的spilt()方法和正则表达式就很容易,需要注意先得把字符串头和尾的空白去的
 4      * @param s
 5      * @return
 6      */
 7     public String reverseWords(String s)
 8     {
 9         String regex = "\\s+";//采用正则表达式,表示分隔符是一个或多个空白符
10         s = s.trim();//去掉首尾空白符
11         String [] array = s.split(regex);
12         StringBuilder sb = new StringBuilder();
13         for(int i = array.length-1;i>0;i--)
14         {
15             sb.append(array[i] +" ");
16         }
17         sb.append(array[0]);
18         return "\'"+sb.toString()+"\'";
19     }

 

posted @ 2014-04-22 10:13  echoht  阅读(135)  评论(0编辑  收藏  举报