一、题目内容
二、题解
解法1:
思路
类似反转链表
先求出链表长度,然后正向遍历链表,反向存储(res[size - 1] = curr.val)
代码
class Solution {public int[] reversePrint(ListNode head) {ListNode curr = head;int size = 0;while (curr != null) {size++;curr = curr.next;}int[] res = new int[size];curr = head;while (curr != null) {res[size - 1] = curr.val;size--;curr = curr.next;}return res;}}
解法2:
思路
递归。
通过递归方式,将链表反向存储在额外空间中,递归结束条件为curr=null
代码
class Solution {public List<Integer> tempArr = new ArrayList<Integer>();public int[] reversePrint(ListNode head) {recurr(head);int[] ans = new int[tempArr.size()];for (int i = 0; i<tempArr.size(); i++) {ans[i] = tempArr.get(i);}return ans;}public void recurr(ListNode head){if (head == null) {return;}recurr(head.next);tempArr.add(head.val);}}
