剑指Offer - 面试题6. 从尾到头打印链表(栈,递归,反转链表)
文章目录
- 1. 题目
- 2. 解题
- 2.1 stack解题
- 2.2 递归
- 2.3 反转链表
1. 题目
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]限制:
0 <= 链表长度 <= 10000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
2.1 stack解题
class Solution {public:vector<int> reversePrint(ListNode* head) {stack<int> s;while(head){s.push(head->val);head = head->next;}vector<int> ans;while(!s.empty()){ans.push_back(s.top());s.pop();}return ans;}
};
2.2 递归
class Solution {vector<int> ans;
public:vector<int> reversePrint(ListNode* head) {dfs(head);return ans;}void dfs(ListNode* head){if(!head)return;dfs(head->next);ans.push_back(head->val);}
};
2.3 反转链表
class Solution {vector<int> ans;
public:vector<int> reversePrint(ListNode* head) {if(!head)return {};head = reverseList(head);while(head){ans.push_back(head->val);head = head->next;}return ans;}ListNode* reverseList(ListNode* head){ //反转链表,返回新表头ListNode *prev = NULL, *nt = head->next;while(head && head->next){head->next = prev;prev = head;head = nt;nt = nt->next;}head->next = prev;return head;}
};
剑指Offer - 面试题6. 从尾到头打印链表(栈,递归,反转链表)相关推荐
- 剑指offer面试题[5]-从尾到头打印链表
目描述 输入一个链表,从尾到头打印链表每个节点的值. /** * struct ListNode { * int val; * struct ListNode *next ...
- 剑指offer 面试题5—从尾到头打印链表
题目: 输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 考虑用栈 public void invertedList1(ListNode head) {if (head == null) {r ...
- 剑指offer面试题06. 从尾到头打印链表(辅助栈法)
题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 思路 详见链接 代码 class Solution:def reversePrint(self,head:ListNod ...
- 剑指Offer - 九度1511 - 从尾到头打印链表
剑指Offer - 九度1511 - 从尾到头打印链表2013-11-29 21:08 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测试案 ...
- 剑指offer java版 test3—从尾到头打印链表
标题:剑指offer java版 test3-从尾到头打印链表 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以 ...
- 【剑指offer】登峰造极之从尾到头打印链表
题目链接 从尾到头打印链表. 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:1254529 题目描述 /** struct ListNode { i ...
- 剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回). 如输入{ ...
- 剑指offer——面试题60:把二叉树打印成多行
剑指offer--面试题60:把二叉树打印成多行 Solution1: 20180911重做.经典题目.牢记做法! /* struct TreeNode {int val;struct TreeNod ...
- 剑指offer——面试题21:包含min函数的栈
剑指offer--面试题21:包含min函数的栈 Solution1: 辅助栈! 逻辑上要想清楚..但是用栈结构来实现栈,目的不知为何... class Solution { public:void ...
最新文章
- SAP RETAIL物料组的分配规则
- 李志飞:想在中国复制 Echo 的成功,肯定都不靠谱
- 车辆贷款违约预测挑战赛
- linux ubuntu debian apt-get报错 Unable to acquire the dpkg frontend lock 解决方法
- bootstrap文件不能被识别_树莓派安装openCV做图像识别
- select函数分析
- Eclipse利用Maven2搭建SpringMVC框架的Web工程
- 收藏 | 13则PyTorch使用的小窍门
- OpenCV的DNN模块
- Solr学习笔记001---solr在windows下的安装及配置
- 在线文本按列截取工具
- oracle里面的锁,基于oracle中锁的深入理解
- 网页校验器:含有Flash的网页如何通过校验 ?
- 向下兼容性格什么意思_向下兼容是什么意思
- linux里卸载mysql数据库,Linux下卸载MySQL数据库
- Masscan使用教程.
- 阿里平头哥发布首个产品玄铁910 但这并不是CPU
- python白平衡-OpenCV3 自动白平衡:灰度世界和完美反射算法
- 数据分析:企业人力资源管理探索
- Python在高等数学和线性代数中的应用