剑指offer 从尾到头打印链表
最直接的想法就是链表反转后输出就完事了,但是看有的面试官会说你破坏了链表的结构,在不破坏链表的结构的情况下如何完成
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList list =new ArrayList();
ListNode temp=listNode;
while(temp!=null){
list.add(0,temp.val);
temp=temp.next;
}
return list;
}
}
思路是理用动态数组arraylist自带的add方法,格式是add(x,value),x是数组中的位置,每次都插入在数组的0位置,然后顺序遍历链表就完成了逆序数组的构造。