1. 程式人生 > >【劍指Offer】從尾到頭列印連結串列

【劍指Offer】從尾到頭列印連結串列

題目:輸入一個連結串列,從尾到頭列印連結串列每個節點的值。

vector<int> printListFromTailToHead(struct ListNode* head) {
        stack<int> s;
        vector<int> v;
        while(head){
            s.push(head->val);
            head=head->next;
        }
        while(!s.empty()){
            v.push_back(s.top());
            s.pop();
        }
        return v;
    }


相關推薦

Offer到頭列印連結串列

題目:輸入一個連結串列,從尾到頭列印連結串列每個節點的值。 vector<int> printListFromTailToHead(struct ListNode* head) {

Offer到頭列印連結串列連結串列的逆序輸出)

目錄 題目描述 題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 解法一:使用棧 單向連結串列的逆序輸出,我們可以很容易的想到使用一個棧作為輔助,棧的先進後出的特效能幫到我們大忙。(所以基礎的資料結構是真的很重要)

Offer到頭列印連結串列(C++,棧/遞迴)

題目連結 題目描述 輸入一個連結串列,從尾到頭列印連結串列每個節點的值。 思路:從尾到頭列印,符合後進先出,用棧儲存,然後存入vector.O(n) 另外,遞迴本質也是棧結構,所以也可以用遞迴寫。 程式碼【棧】: /** * struct List

offer(3)到頭列印連結串列

題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 解題思路 直接遍歷就OK了 class Solution { public: vector printListFromTailToHead(ListNode* head) { vector v; wh

offer 06. 到頭列印連結串列

1.問題描述 輸入一個連結串列的頭結點,按連結串列值從尾到頭的順序返回一個ArrayList。 2. 解決思路 由於是反向列印,所以是一個“後進先出”的問題,使用棧來解決,雖然遞迴的本質就是一個棧結構,但是當連結串列非常長的時候,函式呼叫的層級很深,可能會導致函式呼叫棧

offer到頭列印連結串列

題目描述: 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 解析:可以利用一個棧作為介質,利用棧的先進後出實現從尾到頭的輸出。 程式碼: /** * public

offer到頭列印連結串列

題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個vector。 解題思路 從尾到頭,本質上使用棧結構比較合適。而列印,一般不改變連結結構。因此可以使用遞迴或堆疊的形式。程式碼中使用了遞迴形式。 /** * struct ListNode { *

offer 3.到頭列印連結串列

輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 解法:根據題目要求,我們可以想到棧的特性符合題目要求!  class Solution { public: vector<int> printListFromTailToHead

offer到頭列印連結串列(Java實現)

從尾到頭列印連結串列 NowCoder 題目描述: 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 ###解題思路: 解法一:利用遞迴 import java.util.ArrayList; public class Solution {

offer到頭列印連結串列

題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : *

offer到頭列印連結串列(Python)

題目描述 輸入一個連結串列,從尾到頭列印連結串列每個節點的值。 思路:寫實現函式比較簡單,主要是利用python的列表實現。初始化列表lists之後,我們讓listNode從頭開始走,每走一步就用append將列表的值新增進列表lists中,直至連結串列的指標指向

offer 5. 到頭列印連結串列

輸入一個連結串列的頭結點,按照 從尾到頭 的順序返回節點的值。 返回的結果用陣列儲存。 樣例 輸入:[2, 3, 5] 返回:[5, 3, 2] 返回逆序可以對原陣列逆序 reverse(res.begin(), res.end()) 也可以直接構造一個逆序陣列 vect

offer到頭列印連結串列(JAVA)

題目描述輸入一個連結串列,從尾到頭列印連結串列每個節點的值。解題思路方法一:藉助堆疊的“後進先出”結構/** *    public class ListNode { *        int val; *        ListNode next = null; * *  

offer到頭打印鏈表

cti offer pan 順序 nbsp ref ava ews pid 題目鏈接:從尾到頭打印鏈表 題意:輸入一個鏈表,按鏈表值從尾到頭的順序返回一個ArrayList。 給出的數據結構 /** public class ListNode {

Offer3:到頭列印連結串列

思路: 1.定義變數l存放連結串列的值,並將listNode賦值給head 2開始迴圈,將每個head.val用insert插入到列表l中第一個位置中,其餘元素往後移。從而實現從尾部到頭部 # -*- coding:utf-8 -*- # class ListNode: # de

offer5,到頭列印連結串列

<pre name="code" class="cpp">#include "stdafx.h" #include<iostream> #include<string> #include<stdlib.h> #include&

Offer學習面試題5 : 到頭列印連結串列思路

方案一:(後進先出)遍歷連結串列,再從棧頂開始出個輸出結點的值,此時輸出的結點的順序已經反轉過來了。 先推進棧 再依次取出棧頂元素 方案二:遞迴。 判斷連結串列頭結點是否為空 將 next 結點作為下一次的實參 輸出當前棧頂元素。 缺點:當連結串

offer第三題到頭列印連結串列

import java.util.ArrayList; public class Solution { ArrayList list=new ArrayList();//放在遞迴體外面,每次新

Offer學習面試題5 : 到頭列印連結串列

題目:輸入個連結串列的頭結點,從尾到頭反過來打印出每個結點的值。 public class Test05 { /** * 結點物件 */ public s

offer上往下列印二叉樹,層次遍歷二叉樹python

題目描述 從上往下打印出二叉樹的每個節點,同層節點從左至右列印。 採用佇列的思想,出佇列則列印,然後左節點右節點分別入佇列 注意如果需要兩個不同的列表,一定不能用list = result = []這樣