【剑指Offer】从尾到头打印链表
剑指Offer 从尾到头打印链表
- 题目描述
- 解法1
- 实现代码
- 一点补充
- 解法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】从尾到头打印链表相关推荐
- 剑指Offer 从尾到头打印链表
题目描述 输入一个链表,从尾到头打印链表每个节点的值. 输入描述: 输入为链表的表头 输出描述: 输出为需要打印的"新链表"的表头 思路: 用容器vector,递归到最后一个元素, ...
- java输出链表的值_[剑指offer] 从尾到头打印链表(三种方法) java
一.每次把新遍历的链表值放到list索引为0的位置,实现逆序. public class Solution { public ArrayList printListFromTailToHead(Lis ...
- 剑指offer06.从尾到头打印链表
剑指offer06.从尾到头打印链表 1. 改变链表结构的解法 2.可以使用栈,递归,或者直接反向输出数组 提示: 若是面试遇到此题,最好先向面试官确认是否可以改变链表的结构, 1. 改变链表结构的解 ...
- JavaScript——leetcode剑指06 从尾到头打印链表
JavaScript--leetcode剑指06从尾到头打印链表 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出: ...
- 剑指offer5 从尾到头打印链表
错误代码: class Solution { public:vector<int> printListFromTailToHead(ListNode* head){vector<in ...
- 剑指offer-3 从尾到头打印链表
/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) ...
- 【三种解法】剑指 Offer 06. 从尾到头打印链表【附完整可运行代码】
立志用最少的代码做最高效的表达 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表 ...
- 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...
- 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java
<LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...
最新文章
- python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...
- javascript--this总结
- 一个简单的Spring的AOP例子(JAVA面向切面编程)
- 图的邻接矩阵表示与最短路径算法( Dijkstra )代码实现
- C++中申请内存的正确方法
- Android.对话框(AlertDialog/Toast/Snackbar)
- 一文带你了解Java Agent
- linuxmake没有指明目标并且找不到makefile_如何写makefile?
- CC2541蓝牙串口乱码解决
- 戏说面向对象程序设计
- 数学建模——更新1——excel箱线图
- Outlook连接Gmail不成功可以试试以下方法
- 【千锋Python2205班9.26笔记-day06-列表(一阶段)】
- java与设计模式-观察者模式
- Excel VLOOKUP() 函数实现自动填充内容
- 《Learning to Reconstruct Botanical Trees from Single Images》学习从单幅图像重建植物树
- 高清录播服务器(服务器是什么)
- 过滤器(7)_过滤器处理 POST 请求乱码
- 【管理篇 / 登录】❀ 03. USB线连接登录 ❀ FortiGate 防火墙
- el-select组件设置focus时placeholder的文字提示