zoukankan      html  css  js  c++  java
  • 剑指offer3

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

    思路:首先借助一个栈,遍历链表中的每一个值,然后存储到栈中,利用栈的先进后出特点,然后添加到数组中返回。

    package demo3;
    
    import java.util.ArrayList;
    import java.util.Stack;
    
    public class Main {
    
    	static class ListNode{
    		int val;
    		ListNode next = null;
    		ListNode(int val){
    			this.val = val;
    		}
    	}
    	
    	public static void main(String[] args) {
    		ListNode node1 = new ListNode(1);
    		ListNode node2 = new ListNode(2);
    		ListNode node3 = new ListNode(3);
    		node1.next = node2;
    		node2.next=node3;
    		node3.next = null;
    		
    		ArrayList result = printListFromTailToHead(node1);
    		print(result);
    		
    	}
    	
    	public static void print(ArrayList result){
    		if (result != null && result.size()>0) {
    			for (int i=0;i<result.size();i++) {
    				System.out.print(result.get(i)+" ");
    			}
    			System.out.println();
    		}
    	}
    	
    	
    	public static ArrayList printListFromTailToHead(ListNode listNode){
    		ArrayList array = new ArrayList();
    		//借助栈
    		Stack stack = new Stack();
    		
    		if (listNode == null) {
    			return array;
    		}
    		
    		while (listNode != null) {//节点不为空
    			stack.push(listNode.val);
    			listNode = listNode.next;
    		}
    		
    		while (!stack.isEmpty()) {
    			array.add(stack.pop());
    		}
    		
    		return array;
    	}
    	
    }
    

      

  • 相关阅读:
    linux学习
    linux学习--常用基本命令
    expect学习
    linux学习-cut,ssh keygen ,find
    expect
    告别痛苦,快乐学习Pandas!开源教程《Joyful-Pandas》发布
    iBooker 财务提升星球 2020.2~3 热门讨论
    计算机电子书 2020 CDNDrive 备份(预览版)
    poj2017
    poj2000
  • 原文地址:https://www.cnblogs.com/airycode/p/8677523.html
Copyright © 2011-2022 走看看