利用递归,先递推至链表末端;回溯时,依次将节点值加入列表,即可实现链表值的倒序输出。当 head == None
时,代表越过了链表尾节点,则返回空列表;访问下一节点 head.next
; 将当前节点值 head.val
加入列表 tmp
;
class Solution {
public:
vector<int> reverseBookList(ListNode* head) {
recur(head);
return res;
}
private:
vector<int> res;
void recur(ListNode* head) {
if(head == nullptr) return;
recur(head->next);
res.push_back(head->val);
}
};