标签:java 链表
输入一个链表,从尾到头打印链表每个节点的值。
输入为链表的表头
输出描述:
用栈处理:
/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.Stack;
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
Stack<Integer> sk=new Stack<Integer>();
while(listNode!=null)
{
sk.push(listNode.val);
listNode=listNode.next;
}
ArrayList<Integer> al=new ArrayList<Integer>();
while(!sk.isEmpty())
{
al.add(sk.pop());
}
return al;
}
}用递归处理:
/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list=new ArrayList<Integer>();
ListNode pNode=listNode;
if(pNode!=null){
if(pNode.next!=null){
list=printListFromTailToHead(pNode.next);
}
list.add(pNode.val);
}
return list;
}
}标签:java 链表
原文地址:http://zhenzhuangde.blog.51cto.com/10697385/1725414