翻轉單詞的順序(思路與實現)

2021-08-21 02:39:50 字數 992 閱讀 7344

牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,「student. a am i」。後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是「i am a student.」。cat對一一的翻轉這些單詞順序可不在行,你能幫助他麼?

思路:

首先我想到的就是使用乙個split方法,將這個字串轉化為乙個陣列,然後對這個陣列兩頭交換順序,然後遍歷這個陣列,將這個陣列中的每乙個值都放入到這個stringbuffer中,但是我剛剛開始感覺自己很傻,明明可以不用交換順序,我可以直接反向遍歷這個陣列,然後每次遍歷乙個值加入到這個stringbuffer中並且加上空格,最後乙個不用。

但是需要注意的是這裡面有乙個坑,當我的這個陣列是乙個空格字元創,那麼輸出的也應該是乙個空格字元創,然後如果是乙個空字串,那麼這個時候和空格字元創的處理方式是一樣的。

public class solution 

string strs = str.split(" ");

int start = 0;

int end = strs.length - 1;

/*我就是乙個傻子,剛剛開始我就使用這種方法,我可以直接遍歷和這個陣列,然後從後面拿到這個值*/

/*while(start < end)

stringbuffer buffer = new stringbuffer();

for(int i = 0; i < strs.length; i ++)else

}return buffer.tostring();

*/stringbuffer buffer = new stringbuffer();

for(int i = strs.length - 1; i >= 0; i --)

}return buffer.tostring();

}}

翻轉單詞順序

1.問題描述 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字幕一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 來自 劍指offer 2.分析 我們可以第一步翻轉句子中所有的字元。比如反轉 i am a stud...

翻轉單詞順序

首先將i am boy轉為yob ma i,str 0 與str len 1 交換順序,空間複雜度為o 1 然後yob ma i中每個單詞應用同樣的方法翻轉。function reverse str return strarr.join function reverseword str return...

翻轉單詞順序

輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello ...