《剑指offer》005-从尾到头打印链表
2017-03-21 09:49
330 查看
显式用栈和非显式用栈(递归)代码:
当链表非常长时,就会导致函数调用的层级很深,可能导致函数调用栈溢出。
import java.util.Stack; class ListNode{ int val; ListNode next; ListNode(int i){ this.val = i; } } public class ReversePrint{ public static void main(String[] args){ ReversePrint r = new ReversePrint(); ListNode node = new ListNode(0); ListNode tmp = node; for(int i = 1; i < 100; i++){ ListNode now = new ListNode(i); tmp.next = now; tmp = now; } tmp.next = null; r.reversePrint(node); System.out.println(); r.reversePrint2(node); } private void reversePrint(ListNode node){ Stack<ListNode> s = new Stack<ListNode>(); ListNode tmp = node; while(tmp != null){ s.push(tmp); tmp = tmp.next; } while(!s.isEmpty()){ System.out.print(s.pop().val + " "); } } private void reversePrint2(ListNode node){ if(node != null){ if(node.next != null){ reversePrint2(node.next); } System.out.print(node.val + " "); } } }
当链表非常长时,就会导致函数调用的层级很深,可能导致函数调用栈溢出。
相关文章推荐
- 剑指offer--从尾到头打印链表
- 《剑指Offer》从尾到头打印链表
- python 实现剑指offer系列3:从尾到头打印链表
- 剑指offer系列源码-从尾到头打印链表
- 《剑指offer》——从尾到头打印链表
- 剑指offer-面试题5.从尾到头打印链表
- 《剑指offer》问题6 从尾到头打印链表 Java实现
- 《剑指offer》面试题5—从尾到头打印链表
- 《剑指offer》从尾到头打印链表
- 剑指Offer面试题5(Java版):从尾到头打印链表
- 剑指offer系列-从尾到头打印链表
- 剑指offer面试题5——链表之从尾到头打印链表
- 《剑指Offer》从尾到头打印链表
- 剑指offer:从尾到头打印链表
- 剑指offer(一)之从尾到头打印链表
- 《剑指Offer》读书笔记03:从尾到头打印链表
- 剑指offer面试题6-从尾到头打印链表-java
- 剑指Offer——从尾到头打印链表——C++
- 《剑指offer》6.从尾到头打印链表
- 从尾到头打印链表--《剑指offer》