演算法學習十四 逆序輸出鍊錶

2021-06-21 14:28:20 字數 463 閱讀 4061

題目:輸入乙個鍊錶的頭結點,從尾到頭反過來輸出每個結點的值。

逆序輸出鍊錶,可以採用借用額外空間,使用棧的資料結構,然後遍歷一次鍊錶,且每遇到乙個節點就將其放入到棧中,直到最後乙個節點,最後將棧輸出,這樣就實現了逆序輸出鍊錶。

還有一種方法就是遞迴實現,每次訪問到乙個節點的時候,先遞迴輸出它的下乙個節點,再輸出節點本身,這樣就實現了想要的結果。

演算法偽**如下:  

if node is not null

if next node is not null

then output next node recursively

out itself

c++實現

template chainchain::reverse(const chain&c)

return newc;

}

逆序鍊錶輸出

題目描述 將輸入的乙個單向鍊錶,逆序後輸出鍊錶中的值。輸入整數鍊錶 輸出整數鍊錶 樣例輸入1,2 3,4 5樣例輸出5,4 3,2 1 提示 注意鍊錶指標的處理,防止空指標,注意鍊錶長度 輸入部分參考 include func.h include include 請按照要求實現下列函式 請完成如下函...

演算法學習 反轉鍊錶

輸入乙個鍊錶的頭結點,將這個鍊錶反轉並輸出它的新的頭結點 public class listnode 方法一 public class solution h1.next null return head 方法二 其實我寫的這兩個差不多,為什麼要寫相似的兩個?因為我要學習區別使用p和p.next的區別...

演算法學習 2 4 鍊錶

前言 在儲存一大波數的時候我們通常用的是陣列,但有時候陣列顯得不太靈活 例如 從小到大排好的一串數字 2 3 5 8 9 10 18 26 32,我們要插入6使得其順序依然不變,如果用陣列的話就要讓8以及8往後的數都要往後挪一位,很浪費時間,但如果用鍊錶操作只需要將5的指標指向6的指標,再將6的指標...