劍指offer題解C++【3】

題目描述

輸入一個鏈表,從尾到頭打印鏈表每個節點的值。

解題思路

首先將鏈表中的值從頭到尾壓入一個棧中,然後再依次將值從棧中讀取出來。
利用棧的先進後出原理即可。

代碼

/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
class Solution {
public:
    vector<int> printListFromTailToHead(ListNode* head) {
        vector<int> res;
        stack<int> mystack;
        while (head) {
            mystack.push(head->val);
            head = head->next;
        }

        while (!mystack.empty()) {
            res.push_back(mystack.top());
            mystack.pop();
        }
        return res;
    }
};
發佈了99 篇原創文章 · 獲贊 27 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章