#include <iostream>
#include <vector>
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(nullptr) {}
};
void reverseList(ListNode* head, std::vector<int>& result) {
if (head == nullptr) {
return;
}
reverseList(head->next, result);
result.push_back(head->val);
}
std::vector<int> reversePrint(ListNode* head) {
std::vector<int> result;
reverseList(head, result);
return result;
}
int main() {
ListNode* head = new ListNode(2);
head->next = new ListNode(3);
head->next->next = new ListNode(5);
std::vector<int> output = reversePrint(head);
std::cout << "返回结果: [";
for (size_t i = 0; i < output.size(); ++i) {
std::cout << output[i];
if (i < output.size() - 1) {
std::cout << ", ";
}
}
std::cout << "]" << std::endl;
delete head->next->next;
delete head->next;
delete head;
return 0;
}