题目要求
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
思路
采用递归的方式,将链表的中的元素从后往前尾插到vector中,实现链表的翻转。
代码实现
class Solution {
public:
void method(vector<int>& it, ListNode* cur)
{
if (cur == NULL)
return;
method(it, cur->next);
it.push_back(cur->val);
}
vector<int> reversePrint(ListNode* head) {
vector<int> it;
method(it, head);
return it;
}
};