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 }