首页 > 编程语言 >算法-回文链表-24

算法-回文链表-24

时间:2023-04-15 22:56:56浏览次数:42  
标签:24 pre head ListNode public 链表 next stack 回文

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public int val;
 *     public ListNode next;
 *     public ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head == null) return null;
        Stack<ListNode> stack = new Stack<ListNode>(5001);//加了这里,速度快了4ms
        while(head != null)
        {
            stack.Push(head);
            head = head.next;
        }
        var rt = stack.Pop();
        var pre = rt;
        while(stack.Count != 0)
        {
            var temp = stack.Pop();
            temp.next = null;
            pre.next = temp;
            pre = pre.next;
        }

        return rt;
    }
}

可以看见每次数组扩容是挺费时间,每次初始化线性表,都要预估一个合理的最大值。现在内存是很大的,以尽量减少时间为主。

标签:24,pre,head,ListNode,public,链表,next,stack,回文
From: https://www.cnblogs.com/Insist-Y/p/17322153.html

相关文章

  • 24、桶排序
    1、MSD与Bucket2、桶排序原理......
  • kuangbin专题一 简单搜索 石油储备(HDU-1241)
    OilDepositsTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)ProblemDescriptionTheGeoSurvCompgeologicsurveycompanyisresponsiblefordetectingundergroundoildeposits.GeoSurvCompworkswithonelargerectangula......
  • kuangbin专题一 简单搜索 起火迷宫(UVA-11624)
    Fire!DescriptionJoeworksinamaze.Unfortunately,portionsofthemazehavecaughtonfire,andtheownerofthemazeneglectedtocreateafireescapeplan.HelpJoeescapethemaze.GivenJoe’slocationinthemazeandwhichsquaresofthemazeareo......
  • 链表
    list链表:STL中的链表是双向循环链表迭代器不支持随机访问包括数据域和指针域构造:默认、区间、拷贝、n个elem赋值:重载=、区间,n个elem交换:swap();大小:resize();插入和删除:remove();insert();erase();数据存取:无法使用[]和at, 可以使用front();back();不支持随机访问的......
  • 阿里云智能春季2024届实习生招聘启动啦,快来加入IoT安全吧
    职位名称: 安全工程师/研发工程师C/C++工作地点: 杭州市/北京市毕业时间:2023年11月-2024年10月面试:远程我们是谁?阿里云IoT安全部负责阿里云物联网安全产品的系统性规划、研发、创新拓展与业务落地。聚焦物联网安全能力在云-边缘计算-设备端的产品化建设,协同阿里云的多条产品线,业......
  • 环形链表_相交链表_多数元素(java语言)
    环形链表力扣141题问题:思路:创建hashset,把链表的每个节点放到集合中,在放入的过程中检查这个节点是否已经存在,存在则证明存在环。代码实现:publicclassSolution{publicbooleanhasCycle(ListNodehead){Set<ListNode>set=newHashSet<>();whi......
  • ABC249F 题解
    前言题目传送门!更好的阅读体验?很好玩的贪心。思路如果第\(i\)次操作为覆盖操作,那么\(1\simi-1\)次操作都是无效的,原因显然。这启示我们从后往前扫(前面的会被忽略,后面的不会啊!)。在此基础上,就是分类讨论一下(假设当前的最大答案为\(sum\)):当前操作是覆盖操作:如果不......
  • #yyds干货盘点# LeetCode程序员面试金典:K 个一组翻转链表
    题目:给你链表的头节点head,每 k 个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 示例1:输入:head=[1,......
  • 23-4-14--链表--银行排队问题之单队列多窗口服务
    假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙。当有窗口空闲时,下一位顾客即去该窗口处理事务。当有多个窗口可选择时,假设顾客总是选择编号最小的窗口。本题要求输出前来等待服务的N位顾客的平均等待时间、最长等待时间、最后完成时间,并且统......
  • 回文方阵
    #include<stdio.h>#include<string.h>#defineMAXN10inta[MAXN][MAXN];intmain(){intn,t=0;while(scanf("%d",&n)!=EOF){memset(a,0,sizeof(a));t=a[0][n-1]=1;inti=0,j=n-1;while(t<n*n)......