zoukankan      html  css  js  c++  java
  • 剑指offer

    题目描述:

    输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

    结点定义:

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

    code:

    1. 使用头插法:

    import java.util.ArrayList;
    
    public class Solution {
        public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
            //如果链表为空,返回空list
            if (null == listNode) {
                return new ArrayList<>();
            }
            //定义一个新链表的头节点
            ListNode head = new ListNode(0);
            //遍历链表
            while (null != listNode) {
                //定义新节点
                ListNode temp = new ListNode(listNode.val);
                //新节点的next指向head的next
                temp.next = head.next;
                //head的next指向新节点
                head.next = temp;
                //原链表指向下一个
                listNode = listNode.next;
            }
            //头节点指向下一个
            head = head.next;
            //定义list作为返回值
            ArrayList<Integer> list = new ArrayList<>();
            //遍历链表
            while (null != head) {
                //list添加当前节点的值
                list.add(head.val);
                //链表指向下一个
                head = head.next;
            }
            //返回list
            return list;
        }
    }

    2. 使用list中方法:

    import java.util.ArrayList;
    
    public class Solution {
        public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
            //如果链表为空,返回空list
            if (null == listNode) {
                return new ArrayList<>();
            }
            ArrayList<Integer> list = new ArrayList<>();
            //遍历链表
            while (null != listNode) {
                //list第一个位置添加当前节点的值
                list.add(0, listNode.val);
                //链表指向下一个
                listNode = listNode.next;
            }
            //返回list
            return list;
        }
    }
  • 相关阅读:
    c语言 数组合并
    c++ 静态函数
    c++ 多继承 公有,私有,保护
    c++ 多继承 public
    stat用法:获取文件对应权限的数字
    sublime text3 (Mac) 快捷键
    c++ 多继承
    C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
    更换主机后SSH无法登录的问题
    ssh 连接不同无线网且IP以及用户名都相同
  • 原文地址:https://www.cnblogs.com/s-star/p/12483175.html
Copyright © 2011-2022 走看看