【剑指offer】2.3.3链表——面试题5:从尾到头打印链表
来源:互联网 发布:移动终端软件开发技术 编辑:程序博客网 时间:2024/05/18 23:27
链表是由指针把若干个结点连接成链状结构,是一种动态的数据结构。在创建链表时,无须知道链表的长度,当插入一个结点时,只需为新节点分配内存,然后调整指针的指向。由于链表是按需分配内存的,故其空间效率比较高。
面试题5:从尾到头打印链表
//题目描述////输入一个链表,从尾到头打印链表每个节点的值。 ////输入描述://输入为链表的表头////////输出描述://输出为需要打印的“新链表”的表头#include<iostream>#include<vector>#include<stack>#include<windows.h>using namespace std;struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};// 栈的思想// 0ms 8552kclass Solution {public: vector<int> printListFromTailToHead(struct ListNode* head) { stack<int>s=stack<int>();while(head!=NULL){s.push(head->val);head=head->next;}vector<int>res=vector<int>(s.size());int k=0;while(!s.empty()){res[k++]=s.top();s.pop();}return res; }};// 0ms 8568kclass Solution {public: vector<int> printListFromTailToHead(struct ListNode* head) { vector<int>res=vector<int>();stack<int>s=stack<int>();while(head!=NULL){s.push(head->val);head=head->next;}while(!s.empty()){res.push_back(s.top());s.pop();}return res; }};// 递归思想// 0ms 8552kclass Solution {public: vector<int> printListFromTailToHead(struct ListNode* head) { vector<int>res=vector<int>();if(head!=NULL){res=printListFromTailToHead(head->next);res.push_back(head->val);}return res; }};
递归在本质上就是一个栈结构。但当链表很长时,就会导致函数调用的层级很深,从而可能导致函数调用栈溢出,显式用栈基于循环实现的鲁棒性好一些。
0 0
- 【剑指offer】2.3.3链表——面试题5:从尾到头打印链表
- 剑指offer面试题5——链表之从尾到头打印链表
- 剑指Offer:面试题5——从尾到头打印链表(java实现)
- 剑指offer——面试题5:从尾到头打印链表
- 剑指offer 面试题5—从尾到头打印链表
- 《剑指Offer》面试题:从尾到头打印链表
- 剑指offer面试题 从尾到头打印链表
- 【剑指offer】面试题5:链表-从尾到头打印链表
- 剑指offer面试题——从尾到头打印链表
- 剑指offer——面试题6:从尾到头打印单向链表
- 面试题5—从尾到头打印链表
- 剑指offer-面试题5-从尾到头打印列表
- 面试题6:从尾到头打印链表(offer)
- 剑指offer-->面试题5 从尾到头打印链表
- [剑指offer][面试题5]从尾到头打印链表
- 【剑指offer】面试题5:从尾到头打印链表
- 剑指offer 面试题5 从尾到头打印链表(栈实现)
- 剑指offer 面试题5 从尾到头打印链表(递归实现)
- 2016年将成为IT新元年
- 函数sync、fsync与fdatasync总结整理
- Java并发库(一):传统线程技术回顾
- 程序员职业发展规划
- MySQL主从复制报错处理和数据一致性校验及修复方法
- 【剑指offer】2.3.3链表——面试题5:从尾到头打印链表
- java实现附件预览(openoffice+swftools+flexpaper)
- Android sdk 更新
- 读取PE文件的导入表
- ADB常用命令
- 进程线程及堆栈关系的总结
- asp.net中web.config配置节点大全详解
- 动态追加标签,获取某标签下的标签个数
- Android四角形状(角度)不规则ImageView方案