您的位置:首页 > 其它

【追求进步】从尾到头打印链表

2016-03-16 16:20 288 查看


题目描述

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

输入描述:
输入为链表的表头

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

代码如下:

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
import java.util.Stack;//天哪,为了引包,我花费了1个小时找不到问题,就说怎么用不了stack呢,真的好傻啊
public class Solution {

//输入个链表的头结点,从尾到头反过来打印出每个结点的值 使用栈的方式进行
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
/* Stack<Integer> stack=new Stack<Integer>();

//边界判断
if(listNode==null){
ArrayList list=new ArrayList();
return list;
}
//Stack<Integer> stack = new Stack<Integer>();
while(listNode!=null){
stack.push(listNode.val);
listNode=listNode.next;
}

ArrayList<Integer> arrlist=new ArrayList<Integer>();
while(!stack.isEmpty()){
arrlist.add(stack.pop());
}
return arrlist;
}*/
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: