輸入乙個英文句子,翻轉句子中單詞的順序,單詞順序不變,標點符號和簡單字母一樣處理,例如:輸入"i am a student" 輸出:"student. a am i "
此類題目很常見
翻轉句子中所有字元
再反轉每個單詞中字元的順序
有經驗的面試官如果看到應聘者幾乎不假思索的想出一道比較巧妙的演算法,就會覺得他可能見過這個題目,很多面試官會再問乙個題目,以考察是不是真的理解這倒演算法,類似且更難的題目。
public
class
solution
else
if(array[end]
==' '
)else
if(end==array.length-1)
else
end++;}
return
newstring
(array);}
public
void
reverse
(char
array,
int start,
int end)
}}
很費勁
可以用以下做法(考官指導可得)
string reverse(str)
return sb.tostring();
}
組合語言中有一種移位指令叫做迴圈左移(rol),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s=」abcxyzdef」,要求輸出迴圈左移3位後的結果,即「xyzdefabc」。是不是很簡單?ok,搞定它!
同上題一樣,把它分為兩部分,前n個為第一部分,後面為第二部分,分別反轉兩部分然後再一起翻轉一次,共三次。
public
class
solution
public
void
reverse
(char
array,
int start,
int end)
}}
char
array=str.
tochararray()
;
return
newstring
(array)
;
stringbuilder sb =
newstringbuilder
(chars.length)
;for
(char c:chars)
return sb.
tostring()
;
public
void
reverse
(char
array,
int start,
int end)
翻轉字串 VS 左旋轉字串
題目一 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 第一步 翻轉句子中的所有字元,比如翻轉 i am a student.中的所有字元得到 tneduts a...
翻轉字串和左旋轉字串
左旋 class solution void reverse string str,int begin,int end 翻 class solution int begin 0 intend for int i 0 i num i reverse str,begin,length 1 最後乙個空白的...
左旋轉字串(字串)
題目描述 組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!思路一 pub...