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

本文针对剑指Offer面试题中的链表逆序打印问题提供了详细的解答过程及代码实现。通过创建临时链表并利用ArrayList进行存储与反转,最终实现了从尾到头打印链表每个节点值的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

本博客是为了准备面试做的剑指offer系列题目,近期还在不断更新中,主要分享了一些思路。

问题描述

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

做题思路

  • 首先将获得的链表赋值给一个临时的链表
  • 将这个链表存储在一个ArrayList中,
  • 接着讲这个数组链表进行反转

代码描述

/**
*    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> first = new ArrayList<Integer>();
        ArrayList<Integer> revser = new ArrayList<Integer>();
        ListNode temp = listNode;
        while(temp != null){
            first.add(temp.val);
            temp = temp.next;

        }

        for(int i = first.size()-1;i>=0;i--){
            revser.add(first.get(i));
        }
        return revser;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值