/* * @Description: * @Version: 1.0 * @Autor: wxchen * @Date: 2022-11-21 15:27:10 * @LastEditTime: 2022-11-21 20:28:56 */ #include #include using namespace std; struct ListNode { int val; ListNode* next; // ListNode(int x) : val(x), next(NULL) {} // ListNode(int x, ListNode* n = NULL) : val(x), next(n) {} }; class Solution { public: vector reversePrint(ListNode* head) { reverse(head); return (result); } private: vector result; void reverse(ListNode* head) { if (head != nullptr) { if (head->next != nullptr) { reversePrint(head->next); } result.push_back(head->val); } }; }; int main(int, char**) { // ListNode* head = new ListNode(1); // head -> next = new ListNode(3); // head -> next -> next = new ListNode(2); Solution s; std::cout << s.reversePrint(head)[0] << s.reversePrint(head)[1] << s.reversePrint(head)[2] << std::endl; }