給定一個字元串,逐個翻轉字元串中的每個單詞。
說明
單詞的構成:無空格字母構成一個單詞,有些單詞末尾會帶有标點符号
輸入字元串是否包括前導或者尾随空格?可以包括,但是反轉後的字元不能包括
如何處理兩個單詞間的多個空格?在反轉字元串中間空格減少到隻含一個
線上評測位址:
領扣題庫官網樣例1:
輸入: "the sky is blue"
輸出: "blue is sky the"
樣例解釋:
傳回逐字反轉的字元串.
樣例2:
輸入: "hello world"
輸出: "world hello"
樣例解釋:
傳回逐字反轉的字元串.
題解:
public class Solution {
/*
* @param s: A string
* @return: A string
*/
public String reverseWords(String s) {
// write your code here
if(s.length() == 0 || s == null){
return " ";
}
//按照空格将s切分
String[] array = s.split(" ");
StringBuilder sb = new StringBuilder();
//從後往前周遊array,在sb中插入單詞
for(int i = array.length - 1; i >= 0; i--){
if(!array[i].equals("")) {
if (sb.length() > 0) {
sb.append(" ");
}
sb.append(array[i]);
}
}
return sb.toString();
}
}
更多題解參考:
九章官網solution