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

2021-10-07 13:26:30 字數 864 閱讀 7191

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

示例 1:

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

輸出:[2,3,1]

限制:

0 <= 鍊錶長度 <= 10000

鍊錶特點: 只能從前至後訪問每個節點。

題目要求: 倒序輸出節點值。

這種先入後出的需求可以借助來實現。

通過linkedlist類來實現

入棧:遍歷鍊錶,將各節點的值入棧,借用linkedlistaddlast()方法入棧

出棧:將各節點的值出棧,並存於陣列中,借用linkedlistremovelast()出棧並存於陣列中

addlast(object element):向鍊錶的結尾新增乙個節點

removelast():移除並返回鍊錶的最後乙個節點

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

int[

] res =

newint

[stack.

size()

];for(

int i=

0; i)return res;

}}

劍指offer06 從尾到頭列印鍊錶

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

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

題目描述 輸入乙個鍊錶的頭節點,從尾到頭反過來返回每個節點的值 用陣列返回 解題思路 1 在不允許修改鍊錶的結構的條件下,採用棧輔助 2 新建乙個棧,stackstack new stack 將鍊錶的節點依次壓入棧中 新開乙個陣列,int print new int size 用來儲存從棧中彈出的值...

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

題目描述 輸入乙個鍊錶的頭節點,從尾到頭反過來返回每個節點的值 用陣列返回 示例 輸入 head 1,3,2 輸出 2,3,1 解題思路 1 使用遞迴 由於題目的要求是從尾開始列印每個節點的值,因此可以先遞迴輸出後面的節點,然後再列印當前節點的值,這樣鍊錶的輸出結果就是反過來的了。2 使用stack...