题目:输入一个链表,按链表值从尾头的顺序返回一个ArrayList
public class ListNode {
/*
创建一个链表类,有两个属性,一个是存放值,一个是指向下一个值的地址,利用构造方法可以创造一个链表,
一个链表只要给出第一个值,就能按顺序查找下一个
*/
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
import java.util.ArrayList;
import java.util.Stack;
public class 从尾到头返回链表{
public ArrayList printListFromTailToHead(ListNode listNode) {
Stack<Integer> stack = new Stack<>();//
while(listNode != null){
stack.push(listNode.val);
listNode = listNode.next;
}
ArrayList<Integer> list = new ArrayList<>();
while (!stack.isEmpty()){
list.add(stack.pop());
}
return list;
}
}