分析:由于需要逆序,考虑使用栈的方式实现,对比于自定义栈的形式实现,可以考虑递归的方式使用系统中的栈;此时,虽然代码变得简单了不少,但是空间复杂度会变得较大。
class Solution {
public:
vector<int> reversePrint(ListNode* head) {
if(!head)//如果遍历到链表尾部,返回空
return {};
vector<int> a=reversePrint(head->next);//递归到末尾
a.push_back(head->val);//将值存入栈中
return a;
}
};