zoukankan      html  css  js  c++  java
  • 输入一个链表,从尾到头打印链表每个节点的值。

    //思路:遍历节点,将其存在栈中,按照栈先进后出的原则,就行反向输出
    import
    java.util.*; import java.util.ArrayList; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class aaa { Stack<Integer> s=new Stack<Integer>(); ArrayList<Integer> a=new ArrayList<Integer>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { s.push(listNode.val); while(listNode.next!=null){ listNode=listNode.next; s.push(listNode.val); } while(!s.empty()){ a.add(s.pop()); } return a; } public static void main(String[] args){ ListNode l=new ListNode(5); l.next=new ListNode(6); aaa a=new aaa(); ArrayList<Integer> b=a.printListFromTailToHead(l); for (Integer integer : b) { System.out.println(integer); } } }
    //思路二,考虑这个问题是一个有终止的重复过程,可以利用递归实现
    import java.util.*;
    import java.util.ArrayList;
         class ListNode {
            int val;
           ListNode next = null;
    
            ListNode(int val) {
               this.val = val;
          }
       }
    
    
    public class aaa {
    
          ArrayList<Integer> a=new ArrayList<Integer>();
          public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
                         if(listNode!=null){
                                 printListFromTailToHead(listNode.next);
                                 a.add(listNode.val);
                          }
                          return a;
                }
    
        public static void main(String[] args){
            ListNode l=new ListNode(5);
            l.next=new ListNode(6);
            aaa a=new aaa();
            ArrayList<Integer> b=a.printListFromTailToHead(l);
            for (Integer integer : b) {
                System.out.println(integer);
            }
            
        }
    }
  • 相关阅读:
    Linux Shell参数替换
    Linux下redis的安装
    Make 命令教程
    linux环境变量 export命令详解
    Java分布式应用技术架构介绍
    centos mysql忘记密码
    <context:component-scan>使用说明
    Spring <context:annotation-config/> 解说
    [Visio]直线工具和连接线工具的区别
    [Visual Studio Code] 字体设置
  • 原文地址:https://www.cnblogs.com/wxw7blog/p/7238246.html
Copyright © 2011-2022 走看看