《剑指Offer》读书笔记03:从尾到头打印链表
来源:互联网 发布:淘宝特种经营报名入口 编辑:程序博客网 时间:2024/06/11 21:57
《剑指Offer》读书笔记03:从尾到头打印链表
题目描述
输入一个链表,从尾到头打印链表每个节点的值。
解题思路
- 思路1(参考《剑指Offer》):
因为遍历链表时顺序为从头到尾,而题目要求从尾到头打印。自然想到栈(Stack)这种数据结构来实现。在从头到尾遍历时,把每个结点的值存至栈,然后从栈顶一个一个打印。 - 思路2(参考《剑指Offer》):
因为递归在本质上是一个栈结构,所以同样可以用递归来实现。 - 思路3(网络):
因为牛客网提供的函数输出类型为vector,在遍历时从头到尾依次存储数字,然后可以调用reverse函数(#include<algorithm>
)实现。或者可以对vector中的n个元素(奇偶均可),第i个与第(n-1-i)个元素进行调换。
参考代码
/** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/class Solution {public: vector<int> printListFromTailToHead(struct ListNode* head) { vector<int> vResult; if ( head != NULL ) { while ( head != NULL ) { vResult.push_back(head->val); head = head->next; }#if 1 for ( size_t i = 0; i < vResult.size()/2; i++ ) { int tmpVal = 0; tmpVal = vResult[i]; vResult[i] = vResult[vResult.size()-i-1]; vResult[vResult.size()-i-1] = tmpVal; }#else reverse(vResult.begin(), vResult.end());#endif } return vResult; }};
0 0
- 《剑指Offer》读书笔记03:从尾到头打印链表
- 从尾到头打印链表 剑指offer 03
- 剑指Offer [03] 从尾到头打印链表
- 牛客网-剑指offer-03-从尾到头打印链表
- 剑指offer:5-从尾到头打印链表
- [剑指Offer]7.从尾到头打印链表
- 剑指offer:从尾到头打印链表
- 从尾到头打印链表--《剑指offer》
- 剑指Offer:从尾到头打印链表
- 【剑指offer】从尾到头打印链表
- 【剑指offer】Q5:从尾到头打印链表
- 剑指Offer之从尾到头打印链表
- 剑指offer系列源码-从尾到头打印链表
- 剑指offer 05: 从尾到头打印链表
- 剑指offer--从尾到头打印链表
- 剑指offer-5 从尾到头打印链表
- 剑指Offer之 - 从尾到头打印链表
- 剑指offer 5 -从尾到头打印链表
- Android自定义通知布局Notification,点击Notification导航切换回原Activity
- android插件话和hotfix
- 计算机视觉著名数据集CV Datasets
- 使用视图控制器容器(翻译自苹果官方文档 Implementing a Container View Controller)
- 设计模式之责任链模式(Chain of Responsibity)
- 《剑指Offer》读书笔记03:从尾到头打印链表
- AMD与CDM RequireJS与SeaJS CommonJS 的认识
- linux经验之用scp远程传输文件/文件夹
- 深度与广度 总结
- 如何实现微信等navigationbar加上UIActivityIndicatorView
- LeetCode 172 : Factorial Trailing Zeroes (Java)
- 培训机构毕业的程序员被歧视的背后逻辑
- Java NIO (九) ServerSocketChannel
- 页面上引用的天气插件