当前位置:网站首页>剑指 Offer 06. 从尾到头打印链表

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

2022-07-05 08:16:00 程序员·小李

题目:

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例 1:

输入:head = [1,3,2]
输出:[2,3,1]
 

限制:

0 <= 链表长度 <= 10000

思路:

使用栈来完成链表的遍历,最后依次弹栈获取结果。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int[] reversePrint(ListNode head) {
        Stack<ListNode> stack = new Stack<>();
        int counter = 0;
        while(head != null){
            counter++;
            stack.push(head);
            head = head.next;
        }

        int[] array = new int[counter];
        for (int i = 0; i < counter; i++){
            array[i] = stack.pop().val;
        }

        return array;
    }
}

 

原网站

版权声明
本文为[程序员·小李]所创,转载请带上原文链接,感谢
https://everspringlee.blog.csdn.net/article/details/125610667