核心代码

        //初始化一个数组,用来将链表结构转化为数组结构ArrayList<Node> nodeList = new ArrayList<Node>();while(header!=null){   //header为传进来的头节点代表当前节点,当前节点不为空时nodeList.add(header);   //存入当前节点到数组中header = header.getNext();   //下一个节点赋给当前节点}

完整代码

/*** 节点*/
class Node{private String data;   //包含数据private Node next;   //下一个节点,因为对象为引用类型所以在内存中此next变量指向内存中的另一个Nodepublic String getData() {return data;}public void setData(String data) {this.data = data;}public Node getNext() {return next;}public void setNext(Node next) {this.next = next;}public Node() {}
}/*** 反向打印链表*/
public class LinkRevPrint {/*** 反向打印链表方法* @param header 链表头,即第一个节点*/public static void printLinkReverse(Node header){//初始化一个数组,用来将链表结构转化为数组结构ArrayList<Node> nodeList = new ArrayList<Node>();while(header!=null){   //header代表当前节点,当前节点不为空时nodeList.add(header);   //存入当前节点到数组中header = header.getNext();   //下一个节点赋给当前节点
        }//将转化为数组的链表从后往前打印for (int i = nodeList.size()-1; i >= 0; i--) {Node node = nodeList.get(i);System.out.println(node.getData());}}public static void main(String[] args) {Node nodeFirst = new Node();nodeFirst.setData("第一个节点的数据");Node nodeSec = new Node();nodeSec.setData("第二个节点的数据");nodeFirst.setNext(nodeSec);   //第一个节点指向第二个Node nodeThird = new Node();nodeThird.setData("第三个节点的数据");nodeSec.setNext(nodeThird);   //第二个节点指向第三个节点Node nodeFour = new Node();nodeFour.setData("第四个节点的数据");nodeThird.setNext(nodeFour);   //第三个节点指向第四个节点//传入头节点,反向打印链表
        printLinkReverse(nodeFirst);}
}

结果

转载于:https://www.cnblogs.com/aeolian/p/9263666.html

数据结构之链表反向打印相关推荐

  1. 数据结构与算法之打印两个有序链表公共部分和判断一个链表是否具有回文结构

    数据结构与算法之打印两个有序链表公共部分和判断一个链表是否具有回文结构 目录 打印两个有序链表公共部分 判断一个链表是否具有回文结构 1. 打印两个有序链表公共部分 1.问题描述 思路:Node1和N ...

  2. 数据结构之链表及其Java实现_数据结构之链表及其Java实现

    数据的存储一般分线性存储结构和链式存储结构两种.前者是一种顺序的存储方式,在内存中用一块连续的内存空间存储数据,即逻辑上相连的物理位置相邻,比较常见的就是数组:后者是一种链式存储方式,不保证顺序性,逻 ...

  3. 20175330 数据结构-单链表(选做)

    要求 参见附件,补充MyList.java的内容,提交运行结果截图(全屏) 课下推送代码到码云 ``` public class MyList {     public static void mai ...

  4. linux内核数据结构之链表

    1.前言 最近写代码需用到链表结构,正好公共库有关于链表的.第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域.后来看代码注释发现该代码来自linux内核,在li ...

  5. Java实现自定义队列和树结构_Java数据结构之链表、栈、队列、树的实现方法示例...

    本文实例讲述了java数据结构之链表.栈.队列.树的实现方法.分享给大家供大家参考,具体如下: 最近无意中翻到一本书,闲来无事写几行代码,实现几种常用的数据结构,以备后查. 一.线性表(链表) 1.节 ...

  6. Python数据结构之链表(linked list)

    Python数据结构之链表 一.链表的基本知识 最近在leetcode刷题时遇到了几道关于链表的题,于是恶补了一下关于链表的知识.什么是链表?熟悉python语法的同学肯定都知道list,但是这并不是 ...

  7. 数据结构之链表创建一元多项式,求一元多项式之和

    数据结构之链表创建一元多项式,求一元多项式之和 前言 对于一元多项式,我们完全可以利用线性表P(a0,a1,a2,-,an)表示,这样的线性表在求两个多项式相加等操作时确实简单,但是多于如下的多项式: ...

  8. 剑指offer之反向打印链表值

    1 问题 反向打印链表值 2 思考 1) 我们利用栈的思想,新进后出,把链表的每个元素分别入栈之后再打印栈 2)既然上面用到了栈,我们应该就会想到用到递归来实现 3 代码实现 #include < ...

  9. php链表和联表的区别,PHP_浅谈PHP链表数据结构(单链表),链表:是一个有序的列表,但 - phpStudy...

    浅谈PHP链表数据结构(单链表) 链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表 单向链表,双向链表,环形链表 PHP的底层是C,当一个 ...

最新文章

  1. poj 1218(经典开关问题,模拟)
  2. The Best Way to Unit Test in Android
  3. Django REST framework【学习内容】
  4. LeetCode 692. 前K个高频单词(优先队列)
  5. OpenGL渲染管线,着色器,光栅化等概念理解
  6. tmc4361 闭环_TMC4361A-LA
  7. tasm报错illegal memory reference的解决办法
  8. 计算机效果图线稿的制作方法,如何只用PS将线稿图变成高大上的效果图?
  9. 主梁弹性模量计算_轮扣模板计算书(GB51210-2016规范)
  10. Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
  11. 游戏推广中CPA,CPT和CPS是什么意思?
  12. ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
  13. 基于SpringBoot的网上购物商场管理系统
  14. 白菜一斤八毛用计算机怎么算,6毛一斤的大白菜,一买好几颗,12种做法换着吃...
  15. 【机器人基础】机器人的运动学控制和动力学控制
  16. a1 抛光等级spi_SPI美国标准(抛光等级)
  17. centos终端下使用dvorak键盘布局
  18. 电子邮件礼仪(E-Mail Etiquette)
  19. 从阿里QianKun看前端沙箱隔离
  20. 【机器学习】混淆矩阵详细介绍(代码+含义+解释)

热门文章

  1. 第8章3节《MonkeyRunner源码剖析》 5
  2. mongodb - 前端form表单数据传输,在保存和清除的数据格式的处理程序的 - 非递归...
  3. Android中的资源访问
  4. 烂泥:kickstart无人值守安装CentOS6.5
  5. 电脑总是死机 报Service Control M Hid input service 服务因下列错误而停止
  6. java8学习:用流收集数据
  7. 关于react中setState的深入理解
  8. 京东2017校招前端主观题汇总
  9. maven命令-P 参数
  10. 法国呼叫服务公司Aircall获得800万美元融资