文章目录

  • 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. 从尾到头打印链表(栈,递归,反转链表)相关推荐

  1. 剑指offer面试题[5]-从尾到头打印链表

    目描述 输入一个链表,从尾到头打印链表每个节点的值. /** *  struct ListNode { *        int val; *        struct ListNode *next ...

  2. 剑指offer 面试题5—从尾到头打印链表

    题目: 输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 考虑用栈 public void invertedList1(ListNode head) {if (head == null) {r ...

  3. 剑指offer面试题06. 从尾到头打印链表(辅助栈法)

    题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 思路 详见链接 代码 class Solution:def reversePrint(self,head:ListNod ...

  4. 剑指Offer - 九度1511 - 从尾到头打印链表

    剑指Offer - 九度1511 - 从尾到头打印链表2013-11-29 21:08 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测试案 ...

  5. 剑指offer java版 test3—从尾到头打印链表

    标题:剑指offer java版 test3-从尾到头打印链表 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以 ...

  6. 【剑指offer】登峰造极之从尾到头打印链表

    题目链接 从尾到头打印链表. 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:1254529 题目描述 /** struct ListNode { i ...

  7. 剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回). 如输入{ ...

  8. 剑指offer——面试题60:把二叉树打印成多行

    剑指offer--面试题60:把二叉树打印成多行 Solution1: 20180911重做.经典题目.牢记做法! /* struct TreeNode {int val;struct TreeNod ...

  9. 剑指offer——面试题21:包含min函数的栈

    剑指offer--面试题21:包含min函数的栈 Solution1: 辅助栈! 逻辑上要想清楚..但是用栈结构来实现栈,目的不知为何... class Solution { public:void ...

最新文章

  1. SAP RETAIL物料组的分配规则
  2. 李志飞:想在中国复制 Echo 的成功,肯定都不靠谱
  3. 车辆贷款违约预测挑战赛
  4. linux ubuntu debian apt-get报错 Unable to acquire the dpkg frontend lock 解决方法
  5. bootstrap文件不能被识别_树莓派安装openCV做图像识别
  6. select函数分析
  7. Eclipse利用Maven2搭建SpringMVC框架的Web工程
  8. 收藏 | 13则PyTorch使用的小窍门
  9. OpenCV的DNN模块
  10. Solr学习笔记001---solr在windows下的安装及配置
  11. 在线文本按列截取工具
  12. oracle里面的锁,基于oracle中锁的深入理解
  13. 网页校验器:含有Flash的网页如何通过校验 ?
  14. 向下兼容性格什么意思_向下兼容是什么意思
  15. linux里卸载mysql数据库,Linux下卸载MySQL数据库
  16. Masscan使用教程.
  17. 阿里平头哥发布首个产品玄铁910 但这并不是CPU
  18. python白平衡-OpenCV3 自动白平衡:灰度世界和完美反射算法
  19. 数据分析:企业人力资源管理探索
  20. Python在高等数学和线性代数中的应用

热门文章

  1. tbase同步mysql_mysql主从同步
  2. FreeRTOS学习笔记——互斥型信号量
  3. 平衡二叉查找树插入节点操作( AVLTree ):旋转、调整平衡
  4. 金山云服务器内网带宽,金山云-文档中心-配置弹性网卡
  5. 链表(单链表、双链表、内核链表)
  6. 【luogu P5022 旅行】 题解
  7. Flow monitoring in Software-Defined Networks
  8. 十六进制转化为十进制
  9. .Net序列化与反序列化的2种方法
  10. 动态路由选择协议(二)距离矢量路由选择协议