1. 程式人生 > >劍指offer:從尾到頭列印連結串列

劍指offer:從尾到頭列印連結串列

題目描述

輸入一個連結串列,按連結串列值從尾到頭的順序返回一個vector。

解題思路

從尾到頭,本質上使用棧結構比較合適。而列印,一般不改變連結結構。因此可以使用遞迴或堆疊的形式。程式碼中使用了遞迴形式。

/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
class Solution {
    vector<int> vec;
public:
    vector<int> printListFromTailToHead(ListNode* head) {
        if (head != nullptr){
            printListFromTailToHead(head->next);
            vec.push_back(head->val);
        }
        return vec;
    }
};