Given an input string, reverse the string word by word.
For example,
Given s = "the sky
is blue
",
return "blue is sky
the
".
Clarification:
- What constitutes a word?
A sequence of non-space characters constitutes a word. - Could the input string contain leading or trailing spaces?
Yes. However, your reversed string should not contain leading or trailing spaces. - How about multiple spaces between two words?
Reduce them to a single space in the reversed string.
这个题目好像在研究生某一年一道机试题目,以前用C++处理起来比较麻烦,利用java中String 提供的方法非常简单就能解决问题。
public class Solution {
public String reverseWords(String s) {
String [] numStrings = s.split(" ");
String result = "" ;
for(int i=numStrings.length-1;i>=0;i--){
if(!(numStrings[i].equals("")))
result += numStrings[i]+" ";
}
result = result.trim();
return result;
}
}
通过“ ”进行分割,如果有多个空格,分割出来的为空,进行判断就行,最后trim方法把多余空格消除。