当前位置: 移动技术网 > IT编程>开发语言>Java > 剑指offer 06. 从尾到头打印链表(栈的使用)

剑指offer 06. 从尾到头打印链表(栈的使用)

2020年07月13日  | 移动技术网IT编程  | 我要评论

1. 题目描述

2. 解题思路

  • 利用栈先进后出的特性,先遍历链表的元素,然后依次加入栈。
  • 将所有元素加入栈中后,得到栈的长度,创建数组,弹出栈中所有元素,然后从栈中弹出元素并放如数组。

3. 代码

class Solution {
    public int[] reversePrint(ListNode head) {
        Stack<ListNode> stack = new Stack<ListNode>();
        ListNode temp = head;
        while(temp != null){
            stack.push(temp);
            temp = temp.next; //指针后移
        }
        //链表元素全部入栈
        int length = stack.size();
        int[] res = new int[length];
        for(int i = 0; i < length; i++){
            res[i] =  stack.pop().val;
        }
        return res;
    }
}

4. 测试结果

 

 

 

本文地址:https://blog.csdn.net/Y_Mlsy/article/details/107288791

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网