剑指 Offer 06. 从尾到头打印链表

思路一:翻转

1:用vector存从头到尾的每个节点值

2:返回时候用reverse翻转一下

时间复杂度:O(n)

空间复杂度:O(n)

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {public:vector<int> reversePrint(ListNode* head) {vector<int>  vec;while(head!=nullptr){vec.push_back(head->val);head = head->next;}reverse(vec.begin(), vec.end());return vec;}
};

思路二:递归

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {public:vector<int> res;vector<int> reversePrint(ListNode* head) {if(head==nullptr) return res;reversePrint(head->next);//递归到最后一层res.push_back(head->val);//开始从最后压入值到容器return res;}
};

思路三:使用辅助栈

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {public:vector<int> reversePrint(ListNode* head) {stack<ListNode*> stk;vector<int> res;while(head!=nullptr){stk.push(head);head = head->next;}while(!stk.empty()){int tempnum = stk.top()->val;stk.pop();res.push_back(tempnum);}return res;}
};

LeetCode-剑指 Offer 06. 从尾到头打印链表相关推荐

  1. LeetCode -剑指Offer 06 - 从尾到头打印链表 - java - 细喔

    文章目录 题目 题目解析 解题思维 代码如下 代码细节 - 逆序 附加内容 题目   题目解析 题目目的很直接!就是想让你从链表尾结点开始到头节点结束,将每个节点的val 装入一个数组里,并将其返回. ...

  2. 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java

    <LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...

  3. 【LeetCode】剑指 Offer 06. 从尾到头打印链表

    [LeetCode]剑指 Offer 06. 从尾到头打印链表 文章目录 [LeetCode]剑指 Offer 06. 从尾到头打印链表 一.笨比解法 二.递归法 三.辅助栈法 总结 一.笨比解法 算 ...

  4. LeetCode Algorithm 剑指 Offer 06. 从尾到头打印链表

    剑指 Offer 06. 从尾到头打印链表 Ideas 遍历链表,每次在vector的头部insert当前元素值. Code C++ class Solution {public:vector< ...

  5. 【三种解法】剑指 Offer 06. 从尾到头打印链表【附完整可运行代码】

    立志用最少的代码做最高效的表达 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表 ...

  6. 剑指 Offer 06. 从尾到头打印链表(python3编写)

    目录 1.题目描述: 2.方法一:使用栈保存结果 思路: 代码(迭代法): 代码(递归法): 3.方法二:反转链表 思路: 代码: 4.方法三:保存数组,再反转数组 思路: 代码: 5.总结: 1.题 ...

  7. Leetcode 240.剑指 Offer 06. 从尾到头打印链表 (每日一题 20210728)

    输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回).示例 1:输入:head = [1,3,2] 输出:[2,3,1]限制:0 <= 链表长度 <= 10000题目地址:h ...

  8. 剑指 Offer 06. 从尾到头打印链表(C语言)

    *输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000* ...

  9. 剑指 Offer 06. 从尾到头打印链表(递归、逆置链表、头部动态插入)

    题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 1000 ...

  10. 【算法】剑指 Offer 06. 从尾到头打印链表

    1.概述 链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof 输入一个链表的头节点,从尾到头反过来返回 ...

最新文章

  1. ueditor html显示图片,百度ueditor编辑器上传图片后img标签的title、alt属性优化简单方法...
  2. 标注工具_语料标注工具(2)
  3. 《大话数据结构》第9章 排序 9.2 排序的基本概念与分类
  4. Flutter开发-iOS报错Trying to embed a platform view but the PrerollContext does not s
  5. java类加载及new对象的过程
  6. C# web项目中sql数据库转sqlite数据库
  7. linux离线安装virtualen,在Virtualbox中安装PuppyLinux实录三
  8. Windows10和Ubuntu双系统下用windows引导Ubuntu
  9. jQuery使用示例详解
  10. echarts中graphic_Echarts实现折线图
  11. 数据中心建筑设计及功能区布局的注意事项
  12. 手机股票软件哪个好?这几款炒股app你不能错过!
  13. 【MySQL】Mcafee审计插件
  14. 译文|Apache Pulsar 如何保证消息不丢不重?
  15. 色彩空间(一):色彩空间基础
  16. 亚马逊服务器升降配和增/减磁盘
  17. Python之水仙花数问题解决
  18. Android O/P/Q 版本移植iperf网络性能测试工具
  19. 简单理解:第一类错误,第二类错误,统计显著性,空假设和P值
  20. Java中的内部类与匿名内部类详解

热门文章

  1. 父类的析构函数定义为虚函数
  2. 2020年高等数学方法与提高(上海理工大学)学习笔记:多元函数积分学
  3. hdu1166敌兵布阵 树状数组裸题
  4. 苹果11怎么关掉横屏_苹果手机这些常规操作你可能不会!教你省电又省心?
  5. pytest allure测试报告_Appium+pytest+allure+jenkins如何实现多台手机连接
  6. oracle dbcontrol界面,oracle enterprise manager配置简介
  7. python和anaconda一定要对应版本安装吗_Anaconda与Python安装版本对应关系 --- 转载
  8. 框架 路由地址_Django框架的使用
  9. java实验 输入输出流_java实验七 输入输出流
  10. kafka 启动_Kafka的安装与启动