劍指Offer 程式設計題 從尾到頭列印鍊錶

2022-06-19 03:00:17 字數 1036 閱讀 1830

輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。

有三種思路,

第一就是利用棧先入後出的特性完成,

第二就是存下來然後進行陣列翻轉。

第三是利用遞迴。

// 陣列反轉實現方式

1、頭節點傳入,開始建立a資料,頭節點的next指向a資料的記憶體位址,a節點的next替換成頭節點的

2、頭節點再傳入,建立b資料,頭節點的next又換成了指向b的記憶體位址,b節點的next替換頭節點的a;

總結一下:插入時候,一直在頭節點的上面插入資料,原來的資料被「頂」上去了;

頭插法遍歷的時候,頭節點開始,乙個乙個往上遍歷。這樣最後插入的就作為第乙個輸出出來了;

尾插法編練插入,比較好理解,就是一直在「尾巴」追加,遍歷時候從頭開始,第乙個插入的就第乙個輸出出來;

劍指offer 程式設計題 從尾到頭列印鍊錶

輸入乙個鍊錶,按煉錶值從尾到頭的順序返回乙個arraylist。struct listnode 方案1 使用兩個vector,乙個vector用於在鍊錶遍歷的時候儲存鍊錶中的val值,然後方向輸出值儲存到另乙個vector中。class solution vectorresult for int i...

劍指offer 從尾到頭列印列表

1.方法一 看到這道題的時候,我的最初想法是鍊錶翻轉,在輸出。在原書中作者認為這不是最好的解決辦法,因為這樣會改變鍊錶的原來的結構,如果在面試中遇到類似的問題,應該主動詢問面試官這樣的方發是否可行。1.方法二 鍊錶的逆序列印,首先肯定要遍歷鍊錶,可是輸出的順序卻是從尾到頭。也就是說,第乙個遍歷到的節...

劍指Offer 從尾到頭列印鍊錶

題目1511 從尾到頭列印鍊錶 時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 1082 解決 350 題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入 每個輸入檔案僅包含一組測試樣例。每一組測試案例包含多行,每行乙個大於0的整數,代表乙個鍊錶的節點。第一行是鍊錶第乙個節點的...