从头到尾打印链表



链表ListNode
链表操作方法
一些节点,除了最初一个节点以外的每一个节点都存储着下一个节点的地址,根据这种办法顺次连贯, 形成一个链式构造。

class ListNode {        //类名 :Java类就是一种自定义的数据结构    int val;            //数据 :节点数据     ListNode next;      //对象 :援用下一个节点对象。在Java中没有指针的概念,Java中的援用和C语言的指针相似}

办法一 倒序遍历

  • 先把链表写进去,而后倒着遍历输入
  • 须要晓得链表的长度,所以给定int length = 0;
  • 首先判断以后链表是不是空链表
  • 判断以后节点是否为null,如果不是则加1
  • while(cur.next != null){    length++;    cur = cur.next;}
  • 链表写好之后顺叙读取链表的数据 head.val 而后再head.next 挪动头节点的指针

    办法二 栈 先进后出

    利用栈先进后出的特点

    Stack是栈类

  • 首先把这个链表定义为一个新的栈对象
  • 而后定义一个长期指针是头部节点
  • 当这个长期指针指向null的时候循环完结,如果不是null,则始终像栈里push数据(入栈操作),本程序就是push了对象
  • push结束后用size判断栈的长度
  • 而后定义一个等长的数组用于寄存出栈的数据
  • 因为先进后出准则,出栈间接程序出栈即可
  • .val就是栈对象或者链表对象对应的值

    int[] print = new int[size];for (int i = 0; i < size; i++) {    print[i] = stack.pop().val;}