zoukankan      html  css  js  c++  java
  • 从尾到头打印链表 5

    利用栈,倒序都可以用栈解决

       

    先将数据一个一个压入栈

       

    然后再一个一个弹出

       

    另外还有一种方法是利用递归,递归其实跟栈类似

       

    方法一:

       

    package printListReversed5;

       

    import java.util.Stack;

       

    public class PrintListReversed5 {

    static void printListReversed(ListNode head) {

    if (head != null) {

    Stack<ListNode> stack = new Stack<>();

    while (head != null) {

    stack.push(head);

    head = head.nextNode;

    }

    while (!stack.isEmpty()) {

    System.out.println(stack.pop().data);

    }

    }

    }

       

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    ListNode headNode = new ListNode();

    headNode.data = 1;

    headNode.nextNode = null;

    ListNode l1 = new ListNode();

    l1.data = 2;

    ListNode l2 = new ListNode();

    l2.data = 3;

    headNode.nextNode = l1;

    l1.nextNode = l2;

    l2.nextNode = null;

    printListReversed(headNode);

    }

       

    }

       

    class ListNode {

    int data;

    ListNode nextNode;

    }

       

    方法二:

       

    private static void printListReversed(ListNode headNode) {

    if (headNode.nextNode!=null) {

    printListReversed(headNode.nextNode);

    }

    System.out.println(headNode.data);

    }

       

  • 相关阅读:
    tomcat的安装及配置
    java动态代理的实现
    mySql单列索引与联合索引的区别
    maven3.5.0在win10中的安装及环境变量配置
    jQuery相关知识总结
    前端-css
    前段篇:HTML
    Mysql基础安装,初视篇
    论事件驱动与异步IO
    python 之协程
  • 原文地址:https://www.cnblogs.com/keedor/p/4379123.html
Copyright © 2011-2022 走看看