zoukankan      html  css  js  c++  java
  • 剑指Offer-从尾到头打印链表

    题目描述

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

    题目大意及分析

    题目意思很明确,就是将一个链表倒转,然后返回这个倒转的链表。

    1. 直接用三个临时指针进行链表的反转。
    2. 使用栈结构,递归进行链表的倒转。

    我的参考代码只写了第一种方法,有兴趣的小可爱们可以留言反馈哦!

    代码

    /**
    *    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>();
            if(listNode == null){
                return list;
            }
            ListNode head = listNode;
            ListNode cur = listNode.next;
            ListNode temp;
            while(cur != null){
                temp = cur.next;
                cur.next = head;
                head = cur;
                cur = temp;
            }
            listNode.next = null;
            listNode = head;
            while(listNode != null){
                list.add(listNode.val);
                listNode = listNode.next;
            }
            return list;
        }
    }
    

    更多内容大家可以访问我的个人博客:一只大大怪

  • 相关阅读:
    hbase与Hive的集成
    HBase API操作
    HBase原理
    HBase数据结构
    HBase Shell操作
    HBase简介
    Boxes in a Line
    B
    B. Painting Pebbles
    X
  • 原文地址:https://www.cnblogs.com/cydi/p/11440419.html
Copyright © 2011-2022 走看看