/** 面試題58-
題目一:翻轉單詞順序
* 題目:輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。
* 為簡單起見,標點符號和普通字母一樣處理。例如輸入字串
"i am a student."
,則輸出
"student. a am i"。
* 思路:第一步翻轉句子中所有的字元。比如翻轉
"i am a student."
中所有的字元得到
".tneduts a ma i",
*
此時不但翻轉了句子中單詞的順序,連單詞內的字元順序也被翻轉了。
*
第二步再翻轉每個單詞中字元的順序,就得到了
"student.a am i"。
*/ publicclassno58reversesentence
publicstring reversesentence(string
str)
if(
str.trim().length() == 0)
stringbuilder
sb=newstringbuilder();
//第一步翻轉句子中所有的字元
string
re= reverse(
str);
//按空格劃分單詞
string s=
re.split(
" ");
//第二步再翻轉每個單詞中字元的順序
for(inti
= 0;
i< s.
length
- 1;
i++)
//新增反轉的最後乙個單詞,不加空格的
sbs[
s.length
- 1]));
returnstring.valueof(
sb); }
//將字串反轉
privatestring reverse(string
str)
returnstring.valueof(
sb);
} }
面試題58 翻轉字串(一)翻轉單詞順序
題目描述 牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a stu...
面試題58 I 翻轉單詞順序
題目描述 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 h...
面試題42 翻轉單詞順序
題目 牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a stude...