欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

剑指Offer-从尾到头打印链表

程序员文章站 2022-07-01 17:11:05
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

题目描述

输入一个链表,按链表从尾到头的顺序返回一个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;
    }
}

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