题解 | 从尾到头打印链表
从尾到头打印链表
https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035
import java.util.*;
/**
* 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<Integer> arraylist = new ArrayList<>();
// ArrayList<Integer> arraylistnew = new ArrayList<>();
// // unshift
// for (int i = 0; ; i++) {
// if (listNode == null) {
// break;
// } else {
// arraylist.add(listNode.val);
// listNode = listNode.next;
// }
// }
// for (int i = arraylist.size() - 1; i >= 0; i--) {
// arraylistnew.add(arraylist.get(i));
// }
// return arraylistnew;
// }
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> arraylist = new ArrayList<>();
// unshift
for (int i = 0; ; i++) {
if (listNode == null) {
break;
} else {
arraylist.add(0, listNode.val);
listNode = listNode.next;
}
}
return arraylist;
}
}
java数组实现类似于js unshift操作 (数组最前面、数组最后面)

查看14道真题和解析