輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值

2021-08-17 16:47:59 字數 474 閱讀 6830

從頭開始列印鍊錶很簡單,新建乙個節點讓其指向鍊錶的頭節點,列印節點的數值,再去指向下乙個節點,再列印節點值,直到節點為null。

那麼要是從尾到頭列印鍊錶節點值,遵循「先進後出」的原則,所以這裡考慮用棧。

先一一遍歷鍊表,遍歷乙個節點就將其壓入棧,直到所有節點都入棧,再取棧頂元素並列印節點的值,知道棧為空。

/**

* struct listnode

* };

*/class solution

vector

v;std::stack

s; listnode* cur=head;

//將節點入棧

while(cur)

//從棧中取出節點,將節點的值依次壓入vector,並將節點pop

while(!s.empty())

return v;

}};

從尾到頭列印乙個鍊錶

這樣的鍊錶問題時不時的出現,你有沒有特定的方法去處理呢 以下給出你可能用到的演算法 第一種 改變鍊錶的結構 思想 1.從尾到頭列印鍊錶,那就逆置鍊錶唄 2.列印逆置後的鍊錶 這個簡單,直接上 void printlistrevers listnode phead 2.列印逆置鍊錶 listnode ...

從尾到頭列印乙個鍊錶

這樣的鍊錶問題時不時的出現,你有沒有特定的方法去處理呢 以下給出你可能用到的演算法 第一種 改變鍊錶的結構 思想 1.從尾到頭列印鍊錶,那就逆置鍊錶唄 2.列印逆置後的鍊錶 這個簡單,直接上 void printlistrevers listnode phead 2.列印逆置鍊錶 listnode ...

鍊錶一 從尾到頭列印鍊錶

題目 從尾到頭列印鍊錶 描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。解決方案 方法一 反轉鍊錶後進行遍歷 方法二 使用額外空間棧 方法三 遞迴 public class one while pre null return pre 額外使用空間棧 public static arraylistp...