IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 力扣-->剑指Offer06. 从尾到头打印链表-->链表-简单(栈) -> 正文阅读

[数据结构与算法]力扣-->剑指Offer06. 从尾到头打印链表-->链表-简单(栈)

剑指 Offer 06. 从尾到头打印链表

题目描述:
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例 1:
输入:head = [1,3,2]
输出:[2,3,1]

限制:
0 <= 链表长度 <= 10000

方法一:栈

注意点:
1.栈的特点是先进后出,根据题意,应条件反射想到栈,我就没反应过来,想到的是递归,说明还不熟练,还需多加练习;
2.主要思路:新建一个用于反转存储结点的链栈和一个临时结点指向链表头部,接下来进行循环判断:只要链表非空,就将节点压入栈,并且将临时结点后移一位;跳出循环后,获得栈的长度,新建一个整型数组用于循环获取链栈中保存的值,并最终返回;
3.注意栈的用法:定义栈时无需像定义数组时直接给出长度,可在创建后再用size()取得长度,此题用泛型是<ListNode>,为链栈;
4.注意栈的入栈方法push(),和出栈方法pop()。

执行结果:通过
执行用时:1 ms, 在所有?Java?提交中击败了70.92%的用户
内存消耗:38.9 MB, 在所有?Java?提交中击败了72.13%的用户
通过测试用例:24?/?24

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int[] reversePrint(ListNode head) {  //由题目的反转输出应该联系到栈
        Stack<ListNode> stack=new Stack<ListNode>();
        ListNode temp=head;
        while(temp!=null){
            stack.push(temp);    //此处仅需保存结点即可
            temp=temp.next;
        }
        int size=stack.size();
        int[] print=new int[size];
        for(int i=0;i<size;i++){
            print[i]=stack.pop().val;
        }
        return print;
    }
}

平平无奇小白程序媛一枚,欢迎各位大佬交流指教,如有不正确的地方,欢迎留言改正,谢谢!!!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 19:05:28  更:2021-11-16 19:06:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:56:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码