题解 | #从尾到头打印链表#
从尾到头打印链表
http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035
/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
方法一:利用ArrayList.add(index,val),每次都把结果插入到第0个位置
方法二:直接进行递归-不通过
方法三:直接遍历,之后再将ArrayList进行反转
方法四:自己创建个栈,先把遍历结果存入栈中,最后再将栈内内容弹出放入ArrayList
方法五:先将链表进行反转,之后再遍历
*/
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list =new ArrayList<>();
int i=0;
ListNode head=listNode;
while(listNode!=null){
list.add(0,listNode.val);
listNode=listNode.next;
}
return list;
}
}