美文网首页剑指offer4J
剑指offer4J【C2 P6】倒序打印链表

剑指offer4J【C2 P6】倒序打印链表

作者: sxqiong | 来源:发表于2020-11-20 07:56 被阅读0次

    题目

    倒序打印链表

    题解

    1. 递归
        int size = 0;
        int index = 0;
        int [] data;
        public int[] printDesc(ListNode root) {
            visit(root);
            return data;
        }
        private void visit(ListNode root){
            if(root==null){
                data = new int[size];
                return;
            }
            size++;
            visit(root.getNext());
            data[index++] = root.getValue();
        }
    
    1. 非递归方式 我们使用栈即可
        public int[] printDescByStack(ListNode root) {
            Deque<Integer> stack = new LinkedList<>();
    
            while (root != null) {
                stack.push(root.getValue());
                root = root.getNext();
            }
            int []res = new int[stack.size()];
            int index = 0;
            while (!stack.isEmpty()){
                res[index++]=stack.pop();
            }
            return res;
        }
    

    源码: 剑指offer4J

    相关文章

      网友评论

        本文标题:剑指offer4J【C2 P6】倒序打印链表

        本文链接:https://www.haomeiwen.com/subject/mbpqiktx.html