41 lines
894 B
C++
41 lines
894 B
C++
#include <iostream>
|
|
#include <vector>
|
|
|
|
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<int> reversePrint(ListNode* head) {
|
|
reverse(head);
|
|
return (result);
|
|
}
|
|
|
|
private:
|
|
vector<int> 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;
|
|
}
|