151. 翻轉字元串裡的單詞
給定一個字元串,逐個翻轉字元串中的每個單詞。
示例 1:
輸入: “the sky is blue”
輸出: “blue is sky the”
示例 2:
輸入: " hello world! "
輸出: “world! hello”
解釋: 輸入字元串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。
示例 3:
輸入: “a good example”
輸出: “example good a”
解釋: 如果兩個單詞間有多餘的空格,将反轉後單詞間的空格減少到隻含一個。
說明:
無空格字元構成一個單詞。
輸入字元串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。
如果兩個單詞間有多餘的空格,将反轉後單詞間的空格減少到隻含一個。
進階:
請選用 C 語言的使用者嘗試使用 O(1) 額外空間複雜度的原地解法。
class Solution {
public String reverseWords(String s) {
String[] s1 = s.trim().split(" ");
StringBuffer stringBuffer=new StringBuffer();
for (int i=s1.length-1;i>=0;i--){
if (s1[i].equals("")){
continue;
}
stringBuffer.append(s1[i]);
if (i>0){
stringBuffer.append(" ");
}
}
return stringBuffer.toString();
}
}