美文网首页
面试题6: 从头到尾打印链表

面试题6: 从头到尾打印链表

作者: mark_x | 来源:发表于2019-10-02 23:38 被阅读0次
package cn.zxy.interview;

/**
 * 要求从尾到头打印链表:
 * 想用递归, 在递的时候取出元素压栈, 返回的时候弹栈打印
 * 为了方便思考, 先考虑用实现数组的递归倒序打印
 * 数组分析:
 * 1. 终止条件:i == length
 */
public class A06_TraverseLinkList {
    public static void reversePrintArray(int[] a, int index){
        if (a == null || a.length == 0) return;

        if(index > a.length - 1) return;
        int num = a[index];
        index = index + 1;
        reversePrintArray(a, index);
        System.out.println(num);
    }

    // 链表一样的道理
    public static class Node{
        private int value;
        private Node next;

        public Node() {
        }

        public Node(int value, Node next) {
            this.value = value;
            this.next = next;
        }
    }

    private static void createNode(Node rootNode) {
        for (int i = 0; i < 10; i++) {
            Node node = new Node();
            node.value = i;
            node.next = rootNode.next;
            rootNode.next = node;
        }
    }

    public static void reversePrintLinkList(Node x){
        // 终止条件
        if(x == null) return;
        int value = x.value;
        reversePrintLinkList(x.next);
        System.out.println(value);
    }

    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6,7};
        reversePrintArray(a, 0);

        // 链表
        System.out.println("-------逆序链表---------");
        Node rootNode = new Node(10, null);
        createNode(rootNode);
        reversePrintLinkList(rootNode);

    }
}

相关文章

  • 2.3.3 链表

    面试题6:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。

  • 《剑指Offer》-Exercise(C语言)

    面试题4:二维数组中的查找 面试题6:从尾到头打印链表 单链表从尾到头打印(用栈或递归) 单链表结构 面试题7:重...

  • 面试题6:从头到尾打印链表

    题目描述: 输入一个链表,从尾到头打印链表每个节点的值。 解题思路: 遍历链表,将其存入一个栈中,然后根据栈先进后...

  • 面试题6:从头到尾打印链表

    输入一个链表的头节点,从尾到头打印链表每个节点的值。1,逆序输出,即使用数据结构栈为先进后出特性,依次存储节点值,...

  • 面试题6: 从头到尾打印链表

  • 从尾到头打印链表

    《剑指offer》面试题6:从尾到头打印链表 题目:输入一个链表的头节点,从尾到头反过来打印出每个节点的值。(链表...

  • 剑指offer之(链表和栈)

    题目列表链表面试题06. 从尾到头打印链表面试题18. 删除链表的节点面试题22. 链表中倒数第k个节点面试题24...

  • 从头到尾打印链表

    ?环境:牛客的编译环境?语言:JavaScript☕️难点:忽视了链表的head里也可能会存储数据,其实head头...

  • LeetCode 面试题06. 从尾到头打印链表【剑指Offer

    LeetCode 面试题06. 从尾到头打印链表【剑指Offer】【Easy】【Python】【链表】 问题 力扣...

  • 逆序打印单链表

    题目描述: 逆序打印单链表,要求不能改变链表结构。 思路分析: 由于单链表只能顺序遍历(从头到尾遍历)而不能逆向遍...

网友评论

      本文标题:面试题6: 从头到尾打印链表

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