資料結構 演算法之(003)( 翻轉句子中的單詞)

2021-06-22 03:14:39 字數 466 閱讀 6896

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

句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。

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

題目分析: 解法

一、翻轉2次字串,(1)先翻轉整個字串 (2)在翻轉句子中的單詞

解法二、倒序拷貝,從字串末尾開始,以單詞為單位,順序拷貝到另外一塊記憶體當中,並順序排放

演算法實現:

#include #include #include char *rev_str_word(char *str)

/*copy last str*/

if(strlen(start) != 0)

return temp;

}int main(int argc, char *argv)

演算法 翻轉句子中單詞的順序

題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入 i am a student.則輸出 student.a am i 由於本題需要翻轉句子,我們先顛倒句子中的所有字元。這時,不但翻轉了句子中單詞的順序,而且...

資料結構與演算法 003 單鏈表

單鏈表的介紹 鍊錶是有序的列表,它在記憶體中的儲存如下圖 鍊錶是以節點的方式進行鏈式儲存的資料結構。每個節點包含data域,用來儲存資料 next域,用來指向下乙個節點。如圖所示,鍊錶各個節點不一定是連續儲存的,因此比陣列的儲存更加靈活。鍊錶分為有頭的節點和無頭的節點。名稱型別 含義num int表...

Python資料結構之翻轉鍊錶

翻轉乙個鍊錶 樣例 給出乙個鍊錶1 2 3 null,這個翻轉後的鍊錶為3 2 1 null 一種比較簡單的方法是用 摘除法 就是先新建乙個空節點,然後遍歷整個鍊錶,依次令遍歷到的節點指向新建鍊錶的頭節點。那樣例來說,步驟是這樣的 1.新建空節點 none 2.1 none 3.2zmaqmauon...