从头到尾打印链表
链表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; }
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。