给定一个字符串,逐个翻转字符串中的每个单词。
示例:
输入: "the sky is blue
", 输出: "blue is sky the
".
说明:
- 无空格字符构成一个单词。
- 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
- 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
public class ReverseWords {
//偷懒,我们利用java的split分割单词,反向输出
public String reverseWords(String s) {
String[] words = s.trim().split("\\s+");//split 一个或多个空格字符
String r = "";
for (int i = words.length-1; i >0 ; i--) {
r = r+words[i]+" ";//末尾多了一个空格,所以i不能等于0,最后返回时候加上words[0]
}
return r+words[0];
}
}