从尾到头打印链表

题目:

输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。

返回的结果用数组存储。

样例

输入:[2, 3, 5] 返回:[5, 3, 2]

解题思路:

因为返回的是vector,考虑新建vector,将链表的值压入vector中,最后将vector反转

代码:

 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     vector<int> printListReversingly(ListNode* head) {
12         vector<int> ve;
13         auto h = head;
14         while(h)
15         {
16             ve.push_back(h->val);
17             h = h-> next;
18         }
19         return vector<int>(ve.rbegin(), ve.rend());
20     }
21 };

 

posted @ 2019-07-16 03:19  roov  阅读(3)  评论(0编辑  收藏  举报