劍指offer——反轉單詞順序列
阿新 • • 發佈:2018-11-14
劍指offer——反轉單詞順序列
問題描述
牛客最近來了一個新員工Fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事Cat對Fish寫的內容頗感興趣,有一天他向Fish借來翻看,但卻讀不懂它的意思。例如,“student. a am I”。後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是“I am a student.”。Cat對一一的翻轉這些單詞順序可不在行,你能幫助他麼?
思路分析
1.先判斷輸入字串是否為空,若是,則返回這個字串。由於此題中英語句子單詞間是以空格分割,可使用trim()方法來進行判斷。trim()方法返回去掉前後空白字元的字串物件。
2.用split()方法,將字串按空格切割。
3.將切割後的每一部分存入陣列。
4.反向輸出陣列中的元素。每輸出一個元素就輸出一個空格,直到最後一個元素結束,不用輸出空格。
如: str=" I am a student."
I am a student.
陣列strs={"I","am","a","student."}
建立一個字串s來接收陣列中元素,s="student. a am I"
程式碼
public class Solution {
public String ReverseSentence(String str) {
if (str.trim().length() == 0) {
return str;
}
String[] strs = str.split("\\s");
String s = "";
for (int i = strs.length - 1;i >= 0;i--) {
if (i != 0) {
s += strs[i] + " ";
} else {
s += strs[i];
}
}
return s;
}
}