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

2021-09-03 09:31:29 字數 695 閱讀 5750

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

/***  struct listnode

*  };

*/方案1:使用兩個vector,乙個vector用於在鍊錶遍歷的時候儲存鍊錶中的val值,然後方向輸出值儲存到另乙個vector中。

class solution

vectorresult;

// for(int i = 0;i//   result.push_back(tmp[tmp.size()-i-1]);        

//}for(int i = tmp.size()-1;i>=0;i--)

return result;}};

占用記憶體:480k                           

方案2:

利用棧的先入後出特徵,使用乙個棧來儲存鍊錶中的val值,然後依次出棧儲存到vector中。

class solution

while(!st.empty())

return result;}};

占用記憶體:460k

c++中stack:

方案3:

用遞迴的方法,遞迴到最後乙個節點,然後開始儲存資料。

class solution

return result;}};

占用記憶體:504k

注意:注意判斷條件。

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

輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。有三種思路,第一就是利用棧先入後出的特性完成,第二就是存下來然後進行陣列翻轉。第三是利用遞迴。陣列反轉實現方式 1 頭節點傳入,開始建立a資料,頭節點的next指向a資料的記憶體位址,a節點的next替換成頭節點的 2 頭節點再傳入,建立...

劍指offer 從尾到頭列印列表

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

劍指Offer 從尾到頭列印鍊錶

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