深入链表数据结构,助你搞定链表算法题

思路

从尾到头打印链表有点像栈的数据结构模型。因此,这里我们可以使用一个栈去保存链表中的所有节点,然后pop栈顶元素,打印即可。但这不仅增加了一定的空间复杂度,也增加了一定的时间复杂度。

这个问题无非就是打印链表中的值而已,如果我们能够按照栈调用的方式对其进行调用,问题不就迎刃而解了吗。

递归恰好就是一个栈调用的方式,因此,我们完全可以使用递归巧妙地解决这个问题。

代码

public void printReverse(Node node) {
    if (node != null) {
        printReverse(node.next);
        System.out.println(node.value);
    } else {
        return;
    }
}

 

posted on 2019-11-21 17:24  反光的小鱼儿  阅读(244)  评论(0编辑  收藏  举报