剑指Offer-从尾到头打印链表
程序员文章站
2022-07-01 17:11:05
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
题目描述
输入一个链表,按链表从尾到头的顺序返回一个arraylist。
题目大意及分析
题目意思很明确,就是将一个链表倒转,然后返回这个倒转的链表。
- 直接用三个临时指针进行链表的反转。
- 使用栈结构,递归进行链表的倒转。
我的参考代码只写了第一种方法,有兴趣的小可爱们可以留言反馈哦!
代码
/** * public class listnode { * int val; * listnode next = null; * * listnode(int val) { * this.val = val; * } * } * */ import java.util.arraylist; public class solution { public arraylist<integer> printlistfromtailtohead(listnode listnode) { arraylist<integer> list = new arraylist<integer>(); if(listnode == null){ return list; } listnode head = listnode; listnode cur = listnode.next; listnode temp; while(cur != null){ temp = cur.next; cur.next = head; head = cur; cur = temp; } listnode.next = null; listnode = head; while(listnode != null){ list.add(listnode.val); listnode = listnode.next; } return list; } }