美文网首页
从尾到头打印链表-Java

从尾到头打印链表-Java

作者: myserendipit | 来源:发表于2018-08-01 11:01 被阅读5次
package algorithm;

import java.util.Stack;

public class ReverseLinkedList {

  /**
   * 借助栈,这个数据结构
   * 缺点是需要额外空间
   *
   * @param node 链表头结点
   */
  public static void printReverseLinkedList(Node node) {
    if (node == null) return;
    Stack<Integer> stack = new Stack<>();
    while (node != null) {
      stack.push(node.val);
      node = node.nextNode;
    }

    while (!stack.isEmpty()) {
      System.out.println(stack.pop());
    }
  }

  /**
   * 使用递归思想,要反过来输出链表,我们每访问一个节点时,先输出它后面的节点
   * 再输出自身节点;这样输出结果就反过来了
   *
   * @param node 头结点
   */
  public static void printReverseRecursive(Node node) {
    if (node == null) return;
    printReverseLinkedList(node.nextNode);
    System.out.println(node.val);
  }

  public static void main(String[] args) {
    Node node1 = new Node(10);
    Node node2 = new Node(11);
    Node node3 = new Node(12);
    Node node4 = new Node(13);
    Node node5 = new Node(14);
    Node node6 = new Node(15);
    node1.nextNode = node2;
    node2.nextNode = node3;
    node3.nextNode = node4;
    node4.nextNode = node5;
    node5.nextNode = node6;
    node6.nextNode = null;

//    printReverseLinkedList(node1);
    printReverseRecursive(node1);
  }
}

class Node {
  public int val;

  public Node nextNode;

  public Node(int val) {
    this.val = val;
  }
}

相关文章

  • JZ-003-从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。题目链接: 从尾到头打印...

  • 2.3.3 链表

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

  • 从尾到头打印链表-java

    题目描述 输入一个链表,从尾到头打印链表每个节点的值。 Java代码

  • 06:从尾到头打印链表

    题目06:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。 思路 一. 栈 从头遍历链表,先访问的后...

  • 从尾到头打印链表-Java

  • 《剑指offer》— JavaScript(3)从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值。 实现代码 相关知识 链表是一种物理存储单...

  • <<剑指offer>>--javascript(3)-从尾到头打

    从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值 代码如下 解题思路 链表是一种物理存储单元...

  • 链表 java实现

    链表java实现:因为面试/考试真的很喜欢考链表!!! 题目一:从尾到头打印链表思路:利用stack【判断栈是否为...

  • 从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 分析 listNode...

  • 从尾到头打印链表

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

网友评论

      本文标题:从尾到头打印链表-Java

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