题目描述:
输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。
如输入{1,2,3}的链表如下图:
返回一个数组为[3,2,1]
0 <= 链表长度 <= 10000
示例:
输入:
{1,2,3}
返回值:
[3,2,1]
解题思路:
本题考察数据结构链表的使用。可使用vector容器对链表数据进行存储,并用reverse翻转即可。
测试代码:
/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> t; // 遍历链表 while(head) { t.push_back(head->val); head=head->next; } // 翻转容器 reverse(t.begin(), t.end()); return t; } };
推荐一部电影~