首页 > 其他 > 详细

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

时间:2015-12-17 07:05:12      阅读:213      评论:0      收藏:0      [点我收藏+]

题目描述:

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

输入描述:

输入为链表的表头


输出描述:

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


用栈处理:

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



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

原文:http://zhenzhuangde.blog.51cto.com/10697385/1725414

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!