/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
方法一(借助栈的思想,利用容器vector):
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int> result,result1;
if(head==NULL)
return result;
int i=0;
while(head!=NULL)
{
result.push_back(head->val);
head=head->next;
i++;
}
for(int j=i-1;j>=0;--j)
{
result1.push_back(result[j]);
}
return result1;
}
};
方法二(递归,递归就是利用了栈的思想):
class Solution {
public:
vector<int> result;
vector<int> printListFromTailToHead(ListNode* head) {
if(head!=NULL)
{
printListFromTailToHead(head->next);
result.push_back(head->val);
}
return result;
}
};