可以通过两个vector,第一个顺序放入元素,第二个从第一个把元素倒着取出来。
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
ListNode *p = head;
vector<int>v1,v2;
while(p != NULL) {
v1.push_back(p->val);
p = p->next;
}
for(int i = v1.size()-1; i >= 0; i--) {
v2.push_back(v1[i]);
}
return v2;
}
};