劍指Offer 程式設計題42(翻轉單詞順序)

2021-07-13 09:43:36 字數 890 閱讀 5169

例如輸入字串」i am a student. 」,則輸出」student. a am i」。

第一步翻轉句子中所有的字元。比如翻轉「i am a student. 」中所有的字元得到」.tneduts a m a i」,此時不但翻轉了句子中單詞的順序,連單詞內的字元順序也被翻轉了。第二步再翻轉每個單詞中字元的順序,就得到了」student. a am i」。這正是符合題目要求的輸出。

/**

* 將data中start到end之間的數字反轉

* * @param data

* @param start

* @param end

*/public static void reverse(char data, int start, int end)

while (start < end)

}/**

* 題目一:輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字啊的順序不變。

* 為簡單起見,標點符號和普通字母一樣處理。

劍指Offer 翻轉單鏈表

定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。樣例輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null有兩種方法。一種直觀的方法是使用棧,利用棧先進後出的特性。將節點的值全部壓入棧,出棧的時候需要建立新的節點,連成鍊錶。這裡注意不要直接把鍊錶中的各個節點丟...

劍指Offer 程式設計題 翻轉單詞順序列

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

劍指offer 程式設計題

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的 ...