标题:剑指offer java版 test3—从尾到头打印链表

题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以用栈,递归,指针反转做,收益匪浅。链接:https://blog.csdn.net/weixin_39795049/article/details/85832150
写的很好。

基础知识介绍:
1,链表:链表是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。

链表由一系列的结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成,每个结点包括两个部分:一是存储数据元素的数据域,另一个时存储下一节点地址的指针域。链表不必须按照顺序存储,使用链表可以客服数组需要预先知道数据大小的特点,链表结构可以充分利用计算机内存空间。

2,Collection表示一组对象,它是集中,收集的意思,Collection接口的两个子接口是List和Set接口。List是有序(List中每个元素都有索引标记,可以根据元素的索引标记访问元素),可重复的容器。List接口常用的实现类有3个:ArrayList,LinkedList和Vector。

2.1 ArrayList底层是用数组实现的存储,所以它查询效率高,增删效率低,线程不安全。但和数组不一样的是,ArrayList是可以存放任意数量的对象,长度不受限制。

2.2 LinkedList的底层则是采用双向链表实现的存储,它的每个数据节点都有两个指针,分别指向前后一个节点和后一个节点。所以LinkedList查询效率低,增删效率高,线程不安全。

2.3 Vector底层使用数组实现的List,线程安全,效率低。

代码编写:(使用ArrayList方式从头到尾输出的代码如下)
part1:链表类如下:

package cn.itcast.test3;public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}public int getVal() {return val;}public void setVal(int val) {this.val = val;}public ListNode getNext() {return next;}public void setNext(ListNode next) {this.next = next;}
}

part2:主函数代码如下:

package cn.itcast.test3;
/*方法一:使用ArrayList实现 从尾到头输出一个链表*/
import java.util.ArrayList;class practice {public static void main(String[] args){ListNode head=new ListNode(1);ListNode n1=new ListNode(2);ListNode n2=new ListNode(3);head.setNext(n1);n1.setNext(n2);Solution solution=new Solution();solution.printListFromTailToHead(head);}
}class Solution {public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {ArrayList al=new ArrayList();ArrayList al1=new ArrayList();while(listNode!=null){al.add(listNode.val);listNode=listNode.next;}for(int i=al.size()-1;i>=0;i--){al1.add(al.get(i));System.out.println(al1.get(i));}return al1;}
}

剑指offer java版 test3—从尾到头打印链表相关推荐

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

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

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

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

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

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

  4. 剑指Offer - 面试题6. 从尾到头打印链表(栈,递归,反转链表)

    文章目录 1. 题目 2. 解题 2.1 stack解题 2.2 递归 2.3 反转链表 1. 题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head ...

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

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

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

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

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

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

  8. 剑指offer没有java版吗_剑指Offer(Java版) 持续更新中

    面试题2 单例(之前有整理,略) 面试题3 二维数组中的查找 public boolean find(int target, int [][] array) { boolean found = fal ...

  9. 剑指offer java版(一)

    二维数组中的查找 问题描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数 ...

最新文章

  1. 新版VIEW CLIENT FOR IPADANDRIOD发布了!
  2. 白话经典算法系列之六 高速排序 高速搞定
  3. Linux从零开始(二、基础命令(续)解决命令行无限输入,停不下来)
  4. 设计算法时要确保分类讨论的完备性
  5. [安卓] 9、线程、VIEW、消息实现从TCP服务器获取数据动态加载显示
  6. 第九节:深究并行编程Parallel类中的三大方法 (For、ForEach、Invoke)和几大编程模型(SPM、APM、EAP、TAP)
  7. 织梦黑色互联网建站设计模板
  8. 【今日CV 视觉论文速览】16 Nov 2018
  9. php中的递归算法,PHP递归算法(四)
  10. python2 urllib2_python2.7 urllib和urllib2
  11. python面试题37道(附答案)看完面试不愁了
  12. oracle相同sql执行计划不同,相同的SQL 在正式和测试环境中执行计划的不同
  13. 等价类划分法测试用例设计
  14. 六祎-简单的排版表(python)
  15. 安装Mediapipe中遇到的问题ERROR: An error occurred during the fetch of repository ‘local_execution_config_pyt
  16. 游戏本自动掉帧_实用 | 大夏天,如何解决卡顿掉帧?
  17. 手工从grub引导进入Ubuntu16.04
  18. 一张照片就能攻破人脸识别系统,人脸识别安全性亟需提高
  19. android 上层设置 自动调节亮度
  20. Win 8带给我们的惊喜和遗失的美好

热门文章

  1. 备案接口 php,​分享一个备案查询的api接口源码,可自行开发对接备案API接口...
  2. 谷歌浏览器书签导出与导入到其他浏览器
  3. jq双击放大图片_Jquery图片点击放大
  4. 【ASP.NET CORE】实现图片的上传与通过路径访问预览
  5. 模糊c均值聚类算法的c++实现
  6. Rtools安装方法
  7. 虹软人脸识别SDK的简单使用
  8. 比较全面的ORB-SLAM3论文翻译(基本全文不带相关研究与精度验证部分)
  9. 使图片 放大 缩小 原始 最佳
  10. 功率放大模块如何选择(安泰功率放大器模块产品介绍)