题解 | #从尾到头打印链表#

从尾到头打印链表

http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035

方法一:ArrayList中add操作:复杂度较高,因为每次添加都要复制一遍列表
/**

  • 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> array = new ArrayList<>();
       ListNode p = listNode;
       while(p!=null){
           array.add(0,p.val);
           p = p.next;
       }
       return array;
    }
    }
    方法二:递归(参考)
    /**</integer>
  • public class ListNode {
  • int val;
  • ListNode next = null;
  • ListNode(int val) {
  • this.val = val;
  • }
  • }
  • /
    import java.util.ArrayList;
    public class Solution {
    ArrayList<integer> array = new ArrayList<>();
    public ArrayList<integer> printListFromTailToHead(ListNode listNode) {
       if(listNode!=null){
           printListFromTailToHead(listNode.next);
           array.add(listNode.val);
       }
       return array;
    }
    }</integer></integer>
全部评论

相关推荐

01-11 08:47
门头沟学院 Java
羊村你懒哥1:如果不放毕业,我只能说导师是自己选的,错在你选了个垃圾导师,不在你实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务