题目描述
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
解题思路:创建两个ArrayList,一个用来根据传进来的ListNode参数新建一个完整的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,一个用来接收输入的输入的listnode节点的值,另一个是反转之后的值
ArrayList first = new ArrayList();
ArrayList last = new ArrayList();
//创建一个临时的ListNode
ListNode temp= listNode;
while(temp!=null){
first.add(temp.val);
temp=temp.next;
}
//使用逆序来进行将ArrayList进行赋值到last中
for(int i= first.size()-1;i>=0;i--){
last.add(first.get(i));
}
return last;
}
}
本文介绍了一种通过链表输入,实现从尾到头逆序输出链表值的方法。利用两个ArrayList,首先遍历链表将值存储到第一个ArrayList,然后逆序复制到第二个ArrayList,最终返回逆序后的链表值。
89

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



