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;
}