《剑指offer》003-反转链表

来源:互联网 发布:centos 6.5安装分区 编辑:程序博客网 时间:2024/06/07 14:42

题目描述

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

输出描述:
输出为需要打印的“新链表”的表头

/***    public class ListNode {*        int val;*        ListNode next = null;**        ListNode(int val) {*            this.val = val;*        }*    }**/
import java.util.ArrayList;import java.util.Stack;public class Solution {    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {        Stack<Integer> tmpStack = new Stack<>();        ArrayList<Integer> rtnLn = new ArrayList<>();        while(listNode != null){            tmpStack.push(listNode.val);            listNode = listNode.next;        }        while(!tmpStack.isEmpty()){        rtnLn.add(tmpStack.pop());        }        return rtnLn;    }}

用一个栈来存储已经读出来的listNode。
判断stack是否为空用的是isEmpty( ),一开始写成了 while(tmpStack ! == null)!!!!java基础仍然不熟悉!重点

用java处理链表这种基础数据结构兼职是变态啊!!!

0 0
原创粉丝点击