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

2021-10-07 21:51:14 字數 710 閱讀 8247

輸入乙個鍊錶的頭節點,從尾到頭反過來返回每個節點的值(用陣列返回)。

示例 1:

輸入:head = [1,3,2]

輸出:[2,3,1]

限制:

0 <= 鍊錶長度 <= 10000
要列印鍊錶,就要遍歷鍊錶,而單鏈表的指標只有指向下乙個節點的引用,沒有指向前乙個節點的引用,所以我們無法通過反向遍歷鍊錶來實現從尾到頭列印鍊錶。遍歷鍊錶的順序是從頭到尾,輸出的順序卻是從尾到頭,相當於後進先出,自然就想到了借助棧來實現。

實現:

tips:

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

int[

] reverselist =

newint

[stack.

size()

];int i =0;

while

(!stack.

isempty()

)return reverselist;

}}

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

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

劍指offer06 從尾到頭列印鍊錶

題目 從尾到頭列印鍊錶 思路 1,注意傳入函式的是指向煉表頭的指標,在函式中不應該直接使用這個指標,而是應該用乙個指標的臨時變數來遍歷鍊錶 2,方法一 使用棧來實現 3,方法二 遞迴在本質上就是乙個棧結構,所以也可以用遞迴來實現 solution include include include us...

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

輸入乙個鍊錶的頭節點,從尾到頭反過來返回每個節點的值 用陣列返回 示例 1 輸入 head 1,3,2 輸出 2,3,1 限制 0 鍊錶長度 10000 鍊錶特點 只能從前至後訪問每個節點。題目要求 倒序輸出節點值。這種先入後出的需求可以借助棧來實現。通過linkedlist類來實現棧 入棧 遍歷鍊...