JZ73翻轉單詞序列 描述 牛客最近來了一個新員工Fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事Cat對Fish寫的內容頗感興趣,有一天他向Fish借來翻看,但卻讀不懂它的意思。例如,“nowcoder. a am I”。後來才意識到,這家伙原來把句子單詞的順序翻轉了,正確的句子應 ...
JZ73翻轉單詞序列
描述
牛客最近來了一個新員工Fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事Cat對Fish寫的內容頗感興趣,有一天他向Fish借來翻看,但卻讀不懂它的意思。例如,“nowcoder. a am I”。後來才意識到,這家伙原來把句子單詞的順序翻轉了,正確的句子應該是“I am a nowcoder.”。Cat對一一的翻轉這些單詞順序可不在行,你能幫助他麽?
數據範圍:1 \le n \le 100 \1≤n≤100
進階:空間複雜度 O(n) \O(n) ,時間複雜度 O(n) \O(n) ,保證沒有隻包含空格的字元串
思路
1. 將字元串按照空格進行分割,返回一個數組
2. 對數組進行反向遍歷後存儲到StringBuilder中同時添加一個空格
3. 將builder中最後一個空格去掉
4. 將其轉換成字元串輸出
代碼
public class Solution {
public String ReverseSentence(String str) {
if ("".equals(str) || str.length() == 0) {
return "";
}
String[] s = str.split(" ");
StringBuilder res = new StringBuilder();
for (int i = s.length - 1; i >= 0; i--) {
//反向將單詞添加到StringBuilder中
res.append(s[i]);
res.append(" ");
}
//刪除最後一個空格
res.deleteCharAt(res.length() - 1);
return res.toString();
}
}