LeetCode 2487.从链表中移除节点

news/2024/12/12 6:13:26/

题目

给你一个链表的头节点 head 。

移除每个右侧(右侧所有)有一个更大数值的节点。

返回修改后链表的头节点 head 

思路

代码

class Solution {public ListNode removeNodes(ListNode head) {head = reverseList(head);ListNode cur = head;while (cur.next != null) {if (cur.val > cur.next.val) {cur.next = cur.next.next;} else {cur = cur.next;}}return reverseList(head);}private ListNode reverseList(ListNode head) {ListNode pre = null, cur = head;while (cur != null) {ListNode nxt = cur.next;cur.next = pre;pre = cur;cur = nxt;}return pre;}
}

性能

时间复杂度o(n)

空间复杂度o(1)


http://www.ppmy.cn/news/1544338.html

相关文章

Unity Job System详解(3)——NativeList源码分析

【前言】 查看NativeList源码需要安装Unity的Entities Package NativeList要实现的基本功能类似C# List,如下: (一些简单的类同NativeArray的不在说明) 构造函数、析构函数、取值赋值 扩容、添加、移除操作 解析步骤包括&am…

vite5 打包项目兼容ie和低版本chrome

背景: vite打包后的项目 在低版本chrome无法使用 直接打包项目在69版本的chrome上无法加载 报错 解决方法: 使用vite官方推荐的插件 vitejs/plugin-legacy 1、下载 npm i vitejs/plugin-legacy -D 2、vite.config.js import legacy from "vit…

牛客网最新Java高频面试题汇总(2024最新含答案)

作为一名优秀的程序员,技术面试都是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 如果你参加过一些大厂面试,肯定会遇到一些这样的问题: 1、看你项目都用的框架,熟悉…

记本地第一次运行seatunnel示例项目

前置 静态源码编译通过:https://blog.csdn.net/u011924665/article/details/143372464 参考 seatunnel官方的开发环境搭建文档:https://seatunnel.incubator.apache.org/zh-CN/docs/2.3.5/contribution/setup 安装scala 下载scala 去官网下载&…

matlab计算相关物理参数

function Rx1Jetfire1_1(di,Ct,Tf,Tj,alpha,Ma,Mf,RH,P0,P,k,Cd,elta,deltaHc,tau,directory) % 一共15个独立变量,为了方便输入修改,所有变量存入Jetfire1_1excel表, % dj为孔口直径,m;Ct为燃料空气混合摩尔系数,可…

优化客户服务流程,高效体系自然成

打造高效客服体系需考虑理念、技术、人员及持续改进。以客户为中心,建立标准化流程,利用ZohoDesk提升效率,培训优秀团队,持续收集反馈优化,引入多渠道服务,建立忠诚度计划。ZohoDesk助力企业提升服务质量。…

前端的全栈Deno篇(五):与前端保持一致的模块化方案,摆脱ERR_REQUIRE_ESM和mjs、cjs等模块混乱带来的心智负担

在现代JavaScript开发中,模块化系统的演变经历了多次变革,使得前端和后端开发人员在选择模块加载方式时常常感到困惑。尤其是Node.js所采用的CommonJS和ESM(ECMAScript Modules)两种模块体系,以及文件扩展名的多样性&a…

15分钟学 Go 第 32 天:基本调试技巧

第32天:基本调试技巧 在Go语言的开发过程中,调试是确保代码质量的重要环节。通过有效的调试技巧和工具,开发者可以快速定位和修复问题,从而提高开发效率。今天的学习目标是掌握Go语言中的基本调试工具和技巧。 1. 调试的必要性 …