剑指offer---从尾到头打印链表

题目:从尾到头打印链表

要求;输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

 1 /**
 2 *  struct ListNode {
 3 *        int val;
 4 *        struct ListNode *next;
 5 *        ListNode(int x) :
 6 *              val(x), next(NULL) {
 7 *        }
 8 *  };
 9 */
10 class Solution {
11 public:
12     vector<int> printListFromTailToHead(ListNode* head) {
13         
14     }
15 };

解题代码:

 1 /**
 2 *  struct ListNode {
 3 *        int val;
 4 *        struct ListNode *next;
 5 *        ListNode(int x) :
 6 *              val(x), next(NULL) {
 7 *        }
 8 *  };
 9 */
10 class Solution {
11 public:
12     vector<int> printListFromTailToHead(ListNode* head) {
13         vector<int> res;
14         if(head == nullptr)
15             return res;
16         stack<int> temp;
17         ListNode* p = head;
18         while(p != nullptr){
19             temp.push(p->val);
20             p = p->next;
21         }
22 
23         while(!temp.empty()){
24             res.push_back(temp.top());
25             temp.pop();
26         }
27         return res;
28     }
29 };

 

posted on 2018-10-24 09:34  wangzhch  阅读(154)  评论(0编辑  收藏  举报

导航