输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
用栈就很容易实现,递归本质上是栈结构,也可以用递归实现,
vector<int> printListFromTailToHead(ListNode* head) {
ListNode* iter = head;
stack<int> nums;
vector<int> result;
while(iter != NULL){
nums.push(iter->val);
iter = iter->next;
}
while(!nums.empty()){
result.push_back(nums.top());
nums.pop();
}
return result;
}