每日刷演算法 劍指offer從尾到頭列印鍊錶

2021-10-06 10:11:38 字數 571 閱讀 1989

題目描述

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

分析:鍊錶倒置有兩種思路,第一種是可以從修改節點的next屬性進行倒置,第二種可以把節點放在棧中,然後從棧頂開始取出即可實現倒置的效果

**:第一種:

struct listnode 

}class solution

head->next = null;

head = q;

while (head != null)

return vects;}};

第二種:

class solution 

for (int i =0; i < vects.size(); i--) //迴圈 vects.size()-1 次

return vectnew;}};

劍指offer 從尾到頭列印列表

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

劍指Offer刷題 06 從尾到頭列印鍊錶

難度 簡單 題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。注 此題考查鍊錶的知識點 思路1 利用棧 先進後出的特性 輔助輸出。源於劍指offer struct listnode class solution 輸出棧中元素 從尾都頭列印 while nodes.empty return res...

劍指 offer 刷題 06 從尾到頭列印鍊錶

輸入乙個鍊錶的頭節點,從尾到頭反過來返回每個節點的值 用陣列返回 示例 1 輸入 head 1,3,2 輸出 2,3,1 限制 0 鍊錶長度 10000要列印鍊錶,就要遍歷鍊錶,而單鏈表的指標只有指向下乙個節點的引用,沒有指向前乙個節點的引用,所以我們無法通過反向遍歷鍊錶來實現從尾到頭列印鍊錶。遍歷...