博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++版 - 剑指offer 面试题5:从尾到头打印链表 题解
阅读量:6813 次
发布时间:2019-06-26

本文共 934 字,大约阅读时间需要 3 分钟。

面试题5:从尾到头打印链表

提交网址:  

本题知识点: 

题目描述

输入一个链表,从尾到头打印链表每个节点的值。 
输入描述:
输入为链表的表头
输出描述:
输出为需要打印的“新链表”的表头

分析:

此题要求返回类型为vector<int>,故有两种方法:

1. 使用vector容器在头部进行插入,模拟堆栈;

2. 使用递归思想实现。

AC代码:

class Solution {public:    vector
printListFromTailToHead(struct ListNode* head) { vector
vec; ListNode *p; p=head; while(p!=NULL) { vec.insert(vec.begin(), p->val); // 每次都在向量的开头进行插入 p=p->next; } return vec; }};

如果想使用stack容器的话,可以这样写:

void printListFromTailToHead(ListNode *head){	if(head==NULL) return head;	std::stack 
s; ListNode *p; while(p!=NULL) { s.push(p); // 顶部插入 p=p->next; } while(!s.empty()) { p=s.top(); // 获取到栈顶的结点(指针类型) cout<
val<<" "; // printf("%d\t",p->val); s.pop(); // pop():出栈,删除栈顶元素 }}

转载于:https://www.cnblogs.com/enjoy233/p/10408859.html

你可能感兴趣的文章
windows、ubuntu下eclipse搭建java、Python环境问题总结
查看>>
【037】Excel 中遍历修改文件(VBA)
查看>>
MYSQL 查看表定义的 4 种方法
查看>>
MYSQL insert
查看>>
MYSQL 二进制还原
查看>>
nw.js---创建一个点击菜单
查看>>
如何让自己电脑更快
查看>>
python+selenium常见坑
查看>>
Android基于mAppWidget实现手绘地图(九)–如何处理地图对象的touch事件
查看>>
二叉搜索树的根插入、选择、删除、合并、排序等操作的实现
查看>>
C++设计模式实现--职责链(Chain of Responsibility)模式
查看>>
桩程序和驱动程序
查看>>
R语言中的read.table()
查看>>
Android修改包名的方法,简单粗暴。
查看>>
【Python之旅】第二篇(二):列表与元组
查看>>
RHEL6入门系列之三,GNU计划与Linux发行版
查看>>
小强IT游记之新疆行
查看>>
SCCM部署前的SQL Server准备
查看>>
SQL Server数据库镜像下有效的索引维护
查看>>
产品观,来自微信张小龙的
查看>>