import java.util.ArrayList;
public class Solution {
ArrayList list=new ArrayList();//放在递归体外面,每次添加在同一个ArrayList
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if(listNode!=null){//循环结束的条件是,链表为空
printListFromTailToHead(listNode.next);//递归,从后往前加
list.add(listNode.val);
}
return list;
}
}
//定义链表
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
本文介绍了一种使用递归方法在Java中实现链表逆序遍历的算法。通过将递归调用置于链表节点值的访问之前,可以确保从链表尾部开始打印节点值,直至头部。这种方法巧妙地利用了递归调用的堆栈特性,避免了额外的数据结构。
342

被折叠的 条评论
为什么被折叠?



