其他分享
首页 > 其他分享> > 剑指 Offer 06. 从尾到头打印链表

剑指 Offer 06. 从尾到头打印链表

作者:互联网

剑指 Offer 06. 从尾到头打印链表

这里的一个比较简单的办法就是递归,由于需要的是从尾部开始打印链表,所以也就是递归出栈时打印,所以添加元素的操作在出栈时完成。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int[] reversePrint(ListNode head) {
        List<Integer> vals = new ArrayList<>();
        dfs(head, vals);
        int[] ans = new int[vals.size()];
        for(int i = 0; i < vals.size(); i++) ans[i] = vals.get(i);
        return ans;
    }
    private void dfs(ListNode head, List<Integer> list) {
        if(head == null) return;
        dfs(head.next, list);
        list.add(head.val);
    }
}

标签:head,ListNode,Offer,int,list,链表,vals,06
来源: https://www.cnblogs.com/nullpointer-c/p/15808906.html