輸入乙個鍊錶,按煉錶值從尾到頭的順序返回乙個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的整數,代表乙個鍊錶的節點。第一行是鍊錶第乙個節點的...