/*
* 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
*
* 示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
* */
#include <iostream>
#include <stack>
#include <vector>
using namespace std;
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
class Solution {
public:
vector<int> reversePrint(ListNode* head) {
stack<int> s;
vector<int> temp;
if(head== NULL)
return temp;
ListNode *p=head;
while(p!= NULL){
s.push(p->val);
p=p->next;
}
while (!s.empty()){
temp.push_back(s.top());
cout<< s.top();
s.pop();
}
return temp;
}
};
int main() {
std::cout << "Hello, World!" << std::endl;
ListNode *p1=new ListNode(1);
ListNode *p2=new ListNode(3);
ListNode *p3=new ListNode(2);
p1->next=p2;
p2->next=p3;
Solution *p=new Solution();
p->reversePrint(p1);
return 0;
}
剑指offer--面试题06. 从尾到头打印链表
最新推荐文章于 2022-02-14 10:35:37 发布