<劍指offer> 編程題-翻轉單詞順序列
#要求:牛客最近來了一個新員工Fish,每天早晨總是會拿着一本英文雜誌,寫些句子在本子上。同事Cat對Fish寫的內容頗感興趣,有一天他向Fish借來翻看,但卻讀不懂它的意思。例如,“student. a am I”。後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是“I am a student.”。Cat對一一的翻轉這些單詞順序可不在行,你能幫助他麼?
#即反轉字符串
#Java
public class Solution {
public String ReverseSentence(String str) {
if(str == null){ return null;}
if(str.trim().equals("")){
return str;
}
String string = str;
String[] strings = string.split(" ");
StringBuilder sBuilder = new StringBuilder();
for (int i = strings.length-1 ; i>=0;i--) {
if(i == 0){
sBuilder.append(strings[i]);
}else {
sBuilder.append(strings[i]);
sBuilder.append(" ");
}
}
String string2 = sBuilder.toString();
return string2;
}
}
本題主要考察對單詞順序的反轉,輸入是一串字符串 而string類型的字符串一般不可更改
我們使用StringBuilder類實現反轉
將輸入的倒序字符串中的元素按照空格進行劃分 並保存爲字符串數組
然後將字符串數組進行翻轉排列即可。
利用StringBuilder.append函數進行綴加 最後將stringbuilder轉化爲string並返回即可