劍指offer 從尾到頭列印鍊錶(C )

2021-10-01 07:41:14 字數 494 閱讀 3642

題目:

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

考慮因素:

1. 首先會想到使用棧的先進後出原則,將鍊錶堆入棧,然後推出到需要返回的vector中。

2.還嘗試先讀取鍊錶長度,再在陣列上從後往前插入(vector的屬性導致我們不能這麼做)

3.為了不占用多餘的記憶體,考慮原地翻轉鍊錶,再逐個輸出到vector。關於翻轉列表,這篇部落格講的很形象。

**如下:

// 1. 使用棧

class solution

while(!temp.empty()) }

return answer;

}};// 2. 翻轉鍊錶結構

class solution

26 while(cur) }

30 return answer;

31 }

32};

劍指Offer 從尾到頭列印鍊錶

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

劍指offer 從尾到頭列印鍊錶

輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入描述 輸入為鍊錶的表頭 輸出描述 輸出為需要列印的 新鍊錶 的表頭 分析 題目本意是用的棧結構的先入後出,但是有了容器類的高階方法之後,使用棧的意義就不大了。c struct listnode class solution listnode p hea...

劍指Offer 從尾到頭列印鍊錶

輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。個人認為如果本題就只是列印的話,最好不要反轉鍊錶 你什麼時候見過列印函式改變資料結構了的 我的思路 儲存順序值,然後反轉。注意 1 reverse vprint.begin vprint.end algorithm的使用!2 重新構造。以上兩種衡量選擇。另...