【剑指offer】06从尾到头打印链表,C++实现

本文是原创文章,转载请注明出处!

0.前言

# 本文为牛客网《剑指offer》刷题笔记

1.题目

# 输入一个链表,从尾到头打印链表每个节点的值

2.思路

# 不改变链表结构的情况下,首先,遍历链表将链表结点值存入栈中;然后,从栈顶逐个输出结点的值到向量。

3.code

 /**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) { ListNode *p = head; // 遍历链表
stack<int> stk; // stack用于存储结点的值
vector<int> vec; // vector用于存储出栈的值 // 遍历链表
while(p!=NULL){
stk.push(p->val); // 压栈
p = p->next; // 下一个结点
} // 遍历栈
while(!stk.empty()){
vec.push_back(stk.top()); // 出栈后存储向量
stk.pop(); // 删除栈顶元素
}
return vec; }
};
上一篇:cocos2dx动画常见特效(转)


下一篇:博客七----tensorflow-gpu安装满满填坑