反向打印链表元素的四种方法(包含递归)

    科技2025-10-28  8

    方法一:放入数组(java中有ArrayList创建动态数组) 方法二:反转链表(这种方法改变了链表结构,原先的链表被破坏,不存在了) 反转链表也就好几种方法 1)边遍历边反转 2)递归法 3)头插法 leetcode有这个题 方法三:利用栈(java中有LinkedList创建栈)正向遍历链表的同时,压值入栈,最后逐个出栈显示 方法四:递归法!!!(学习理解这种思想,其实递归就是入栈出栈的过程)

    前三种都很简单,这里只写一下第四种递归方法,虽然时间空间复杂度都不优秀,但可以理解一下

    public class Solution{ public void reverseprint(ListNode head){ if(head==null) return; if(head.next!=null) reverselist(head.next); System.out.println(head.val+' '); } }

    如果把输出语句放在第二个if前面,那就是正序输出了

    Processed: 0.019, SQL: 8