1. 题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
题目分析:
1.逆序输出,首先想到的是栈的进出
2.返回一个ArrayList的集合,将元素添加进去,然后返回集合对象
2. 代码实现
import java.util.ArrayList;
import java.util.Stack;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
//逆序输出链表,可以利用栈结构
Stack<Integer> stack = new Stack<Integer>();
//当链表不空的时候,将其进栈
while(listNode != null){
stack.push(listNode.val);
//链表指向下一个
listNode = listNode.next;
}
ArrayList<Integer> list = new ArrayList<Integer>();
while(!stack.isEmpty()){
list.add(stack.pop());
}
return list;
}
}