剑指offer-03-输入一个链表,从尾到头打印链表每个节点的值。

来源:互联网 发布:小米抢购软件app 编辑:程序博客网 时间:2024/06/14 01:44

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

import java.util.*;

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/

public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        Stack<Integer> stack = new Stack<Integer>();
            while(listNode != null){
                stack.push(listNode.val);
                listNode = listNode.next;
            }
            ArrayList<Integer> list = new ArrayList<Integer>();
            while(!stack.isEmpty()){
                list.add(stack.pop());
            }
            return list;
        }
    }


话说也有大牛这样做的

java 递归超简洁版本
public class Solution {
    ArrayList<Integer> arrayList=new ArrayList<Integer>();
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        if(listNode!=null){
            this.printListFromTailToHead(listNode.next);
            arrayList.add(listNode.val);
        }
        return arrayList;
    }
}



阅读全文
0 0
原创粉丝点击