• 输入一个链表,从尾到头打印链表每个节点的值。


    //思路:遍历节点,将其存在栈中,按照栈先进后出的原则,就行反向输出
    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);
            }
            
        }
    }
  • 相关阅读:
    缓存使用的最佳实践
    如何科学的设置线程池
    双检查锁失效
    Minor GC、Major GC和Full GC之间的区别
    full gc频繁的分析及解决案例
    MySQL的并发控制与加锁分析
    全面理解Java内存模型
    JAVA中MAP转LIST
    java 编码转换
    自定义VIew基础
  • 原文地址:https://www.cnblogs.com/wxw7blog/p/7238246.html
Copyright © 2020-2023  润新知