从尾到头打印链表(剑指Offer-06)
题面
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例
1输入:head = [1,3,2] 2输出:[2,3,1]
限制
10 <= 链表长度 <= 10000
思路
简单遍历链表,然后reverse一下就好。
代码
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 */
9class Solution {
10public:
11 vector<int> reversePrint(ListNode* head) {
12 vector<int> v;
13 ListNode *p = head;
14
15 while(p != NULL){
16 v.push_back(p->val);
17 p = p->next;
18 }
19
20 reverse(v.begin(), v.end());
21 return v;
22 }
23};