一、每次把新遍历的链表值放到list索引为0的位置,实现逆序。
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list=new ArrayList<>();
if(listNode==null) return list;
while(listNode!=null){
list.add(0,listNode.val);
listNode=listNode.next;
}
return list;
}
}
二、利用栈实现逆序(先进后出)
import java.util.ArrayList;
import java.util.Stack;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list=new ArrayList<>();
Stack<ListNode> stack=new Stack<>();
if(listNode==null) return list;
while(listNode!=null){
stack.push(listNode);
listNode=listNode.next;
}
while(!stack.isEmpty()){
list.add(stack.pop().val);
}
return list;
}
}
三、所有的栈都可以用递归实现,以下是递归方法
public class Solution {
ArrayList<Integer> list=new ArrayList<>();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
FromTailToHead(listNode);
return list;
}
public void FromTailToHead(ListNode listNode){
if(listNode!=null){
FromTailToHead(listNode.next);
list.add(listNode.val);
}
}
}
继续阅读与本文标签相同的文章
上一篇 :
java 基本数据类型的默认初始值
-
711便利店:日本计划关店1000家,母公司将裁员3000人
2026-05-18栏目: 教程
-
阿里云服务器共享型实例xn4 n4 性价比高适合个人博客 中小型网站
2026-05-18栏目: 教程
-
QQ上这3个隐藏功能,“偷偷”告诉谁在暗恋你,不准不要你钱
2026-05-18栏目: 教程
-
戴森电动汽车梦破碎 业内人士:及时止损明智之举
2026-05-18栏目: 教程
-
SpaceX提交3万颗Starlink宽带星座卫星发射申请
2026-05-18栏目: 教程
