diff --git a/main.cpp b/main.cpp index 33754cd..8ea35b3 100644 --- a/main.cpp +++ b/main.cpp @@ -1,21 +1,47 @@ +/* + * @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) {} + int val; + ListNode* next; + // ListNode(int x) : val(x), next(NULL) {} // + ListNode(int x, ListNode* n = NULL) : val(x), next(n) {} }; class Solution { -public: + 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**) { - std::cout << "Hello, world!\n"; + + // 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; } diff --git a/offer06.cpp b/offer06.cpp index e69de29..6879c9d 100644 --- a/offer06.cpp +++ b/offer06.cpp @@ -0,0 +1,47 @@ +/* + * @Description: + * @Version: 1.0 + * @Autor: wxchen + * @Date: 2022-11-21 15:27:10 + * @LastEditTime: 2022-11-21 21:06:07 + */ +#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; +}