剑指Offer 从尾到头打印链表

  • 题目描述

    • 解法1

      • 实现代码
    • 一点补充

题目描述

输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

解法1

这道题主要思路是while循环从头遍历整个列表,将每个元素插入到List中,因为要求是从尾到头,所以每次插入时利用Insert函数不断将元素插入到第一的位置

实现代码

public class ListNode
{public int val;public ListNode next;public ListNode(int x){val = x;}
}
public List<int> printListFromTailToHead(ListNode listNode)
{List<int> list = new List<int>();while (listNode != null){list.Insert(0, listNode.val);listNode = listNode.next;}return list;
}

一点补充

针对C#语言,调用Insert方法的性能消耗会比Add方法多,但如果使用Add方法,最后需要再调用一次Reverse方法进行翻转。经过多次测试,这两种方式的性能消耗没有明显差距,和测试数据集相关。下面贴上第二种方法实现的代码。

public List<int> printListFromTailToHeadOptimize(ListNode listNode)
{List<int> list = new List<int>();while (listNode != null){list.Add(listNode.val);listNode = listNode.next;}list.Reverse();return list;
}

转载于:https://www.cnblogs.com/iwiniwin/p/10793655.html

【剑指Offer】从尾到头打印链表相关推荐

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

    题目描述 输入一个链表,从尾到头打印链表每个节点的值. 输入描述: 输入为链表的表头 输出描述: 输出为需要打印的"新链表"的表头 思路: 用容器vector,递归到最后一个元素, ...

  2. java输出链表的值_[剑指offer] 从尾到头打印链表(三种方法) java

    一.每次把新遍历的链表值放到list索引为0的位置,实现逆序. public class Solution { public ArrayList printListFromTailToHead(Lis ...

  3. 剑指offer06.从尾到头打印链表

    剑指offer06.从尾到头打印链表 1. 改变链表结构的解法 2.可以使用栈,递归,或者直接反向输出数组 提示: 若是面试遇到此题,最好先向面试官确认是否可以改变链表的结构, 1. 改变链表结构的解 ...

  4. JavaScript——leetcode剑指06 从尾到头打印链表

    JavaScript--leetcode剑指06从尾到头打印链表 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出: ...

  5. 剑指offer5 从尾到头打印链表

    错误代码: class Solution { public:vector<int> printListFromTailToHead(ListNode* head){vector<in ...

  6. 剑指offer-3 从尾到头打印链表

    /** *  struct ListNode { *        int val; *        struct ListNode *next; *        ListNode(int x) ...

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

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

  8. 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...

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

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

最新文章

  1. python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...
  2. javascript--this总结
  3. 一个简单的Spring的AOP例子(JAVA面向切面编程)
  4. 图的邻接矩阵表示与最短路径算法( Dijkstra )代码实现
  5. C++中申请内存的正确方法
  6. Android.对话框(AlertDialog/Toast/Snackbar)
  7. 一文带你了解Java Agent
  8. linuxmake没有指明目标并且找不到makefile_如何写makefile?
  9. CC2541蓝牙串口乱码解决
  10. 戏说面向对象程序设计
  11. 数学建模——更新1——excel箱线图
  12. Outlook连接Gmail不成功可以试试以下方法
  13. 【千锋Python2205班9.26笔记-day06-列表(一阶段)】
  14. java与设计模式-观察者模式
  15. Excel VLOOKUP() 函数实现自动填充内容
  16. 《Learning to Reconstruct Botanical Trees from Single Images》学习从单幅图像重建植物树
  17. 高清录播服务器(服务器是什么)
  18. 过滤器(7)_过滤器处理 POST 请求乱码
  19. 【管理篇 / 登录】❀ 03. USB线连接登录 ❀ FortiGate 防火墙
  20. el-select组件设置focus时placeholder的文字提示

热门文章

  1. axis WebServices 完美调用天气预报,查询、显示 代码!
  2. openais的前世今生
  3. Float构建三栏DIV CSS网页布局
  4. 用Docker之后还需要OpenStack吗
  5. UML几个关系图表示
  6. STM32常用数据类型 u8、u16、u32
  7. NanoPi NEO的Matrix库硬件编程
  8. 常考数据结构与算法: NC19 连续子数组的最大和
  9. linux oracle 数据库导出
  10. [BZOJ1925]地精部落