循环版本:
因为是链表,所以循环的时候直接head = head->next
。
class Solution {
public:
vector<int> printListReversingly(ListNode* head) {
vector<int> res;
while (head) {
res.push_back(head->val);
head = head->next;
}
reverse(res.begin(), res.end());
return res;
}
};
递归版本:
同样因为是链表,所以递归的时候直接对head->next
这个链表进行递归。
class Solution {
public:
vector<int> printListReversingly(ListNode* head) {
vector<int> res;
if (!head) return res;
else {
res = printListReversingly(head->next);
res.push_back(head->val);
}
return res;
}
};