码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer3

时间:2018-03-30 18:29:53      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:nod   import   public   main   pack   stack   一个   ==   head   

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

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

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;
	}
	
}

 

  

 

剑指offer3

标签:nod   import   public   main   pack   stack   一个   ==   head   

原文地址:https://www.cnblogs.com/airycode/p/8677523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!