【剑指offer】面试题6:从尾到头打印链表(Java)

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

示例 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<Integer> stack = new Stack<Integer>();

        while(head!=null)

        {

            stack.push(head.val);

            head = head.next;

        }

        int nums[] = new int[stack.size()];

        for(int i=0;i<nums.length;i++)

        {

            nums[i] = stack.pop();

        }

        return nums;

    }

}

发布了275 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hx1043116928/article/details/104590288
今日推荐