2024.1.3每日一题

LeetCode每日一题

2487.从链表中移除节点

2487. 从链表中移除节点 - 力扣(LeetCode)

题目描述

给你一个链表的头节点 head

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

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

示例 1:

img

输入:head = [5,2,13,3,8]
输出:[13,8]
解释:需要移除的节点是 5 ,2 和 3 。
- 节点 13 在节点 5 右侧。
- 节点 13 在节点 2 右侧。
- 节点 8 在节点 3 右侧。

示例 2:

输入:head = [1,1,1,1]
输出:[1,1,1,1]
解释:每个节点的值都是 1 ,所以没有需要移除的节点。

提示:

  • 给定列表中的节点数目在范围 [1, 105]
  • 1 <= Node.val <= 105

思路

递归

通过递归来遍历链表,同时比较当前节点和下一个节点的值,如果下一个节点的值大于当前节点的值,就将当前节点移除,返回下一个节点,否则保留当前节点,返回当前节点。

代码

C++
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptrptr) {}*     ListNode(int x) : val(x), next(nullptrptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* removeNodes(ListNode* head) {if(head == nullptr){return nullptr;}head->next = removeNodes(head->next);if(head->next != nullptr && head->next->val > head->val  ){return head->next;} else{return head;}}
};
Java
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode removeNodes(ListNode head) {if(head == null){return null;}head.next = removeNodes(head.next);if(head.next != null && head.next.val > head . val){return head.next;}else{return head;}}
}

image-20240103205737484

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/593806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设置代理IP地址对网络有什么影响?爬虫代理IP主要有哪些作用?

在互联网的广泛应用下&#xff0c;代理IP地址成为了一种常见的网络技术。代理IP地址可以改变用户的上网行为&#xff0c;进而影响网络访问的速度和安全性。本篇文章将探讨设置代理IP地址对网络的影响&#xff0c;以及爬虫代理IP的主要作用。 首先&#xff0c;让我们来了解一下代…

kafka容灾演练的方案

背景 kafka可以通过MirrorMaker工具把集群的数据从一个集群同步到另一个集群&#xff0c;通过在另一个数据中心创建灾备集群的方式可以做到容灾的效果,但是如果我们不通过如此重量级的工具也想达到容灾演练的目的&#xff0c;可以怎么做呢 kafka简单容灾实现 当原kafka集群发…

Allegro看不到PCB元件的丝印和装配层

#创作灵感# PCB板到处Gerber文件加工回来&#xff0c;板子上没有元件边框丝印&#xff0c;但是有元件编号。因为只是样板&#xff0c;影响不大&#xff0c;就没有当回事。直到发出去贴片&#xff0c;发送了钢网层和装配层&#xff0c;反馈说不知道元器件的极性。这就纳闷了&…

Android测试——(下篇)

Android测试&#xff08;五&#xff09;&#xff1a;Instrumented 单元测试 Instrumented 单元测试是在真机并且可以上运行的测试&#xff0c;它利用Android框架API和支持的API&#xff08;如Android测试支持库&#xff09;。如果你的测试需要访问工具信息&#xff08;例如目标…

STM32 学习(三)OLED 调试工具

目录 一、简介 二、使用方法 2.1 接线图 2.2 配置引脚 2.3 编写代码 三、Keil 工具调试 一、简介 在进行单片机开发时&#xff0c;有很多调试方法&#xff0c;如下图&#xff1a; 其中 OLED 就是一种比较好用的调试工具&#xff1a; OLED 硬件电路如下&#xff0c…

supervisor + uwsgi 部署python服务流程

supervisor uwsgi 部署python服务流程 最近由于某个python服务不稳定&#xff0c;有时候是造成服务器down机&#xff0c;有时候是服务本身突然就挂了。查了一下原因&#xff0c;发现是内存资源占用过高导致的&#xff0c; 为了让服务稳定运行&#xff0c;便打算引入superviso…

linux centos 部署 jenkins

一、试了用容器部署&#xff0c;不行。(建议别用容器部署) 二、直接部署在主机上 1、安装java环境 yum install java-11-openjdk-devel # 检查 java -version # 打印 [rootiZwz9a99mctbkabkh2imhdZ init.d] java -version openjdk version "11.0.21" 2023-10-17 L…

轻松上手:Postman Interceptor 插件使用指南

什么是 Postman&#xff1f; Postman 是一种用于测试和开发 API 的工具&#xff0c;让开发者可以轻松地构建、发送、调试 HTTP 请求&#xff0c;并检查响应结果。通过Postman&#xff0c;开发者可以在不编写代码的情况下快速测试 API 的正确性和可靠性。Postman 还支持协作和自…

Cesium加载大规模三维数据渲染性能优化方案

根据实际项目经验和近期的论文&#xff0c;总结一下Cesium加载大规模三维数据性能优化方法。个人认为在实际的GIS数字孪生项目中,其可行的优化手段主要有三种&#xff1a; &#xff08;1&#xff09;通过专业的转换工具CesiumLab等对原始的三维模型进行轻量化处理&#xff0c;包…

第4课 FFmpeg读取本地mp4文件并显示

在上节课&#xff0c;我们使用FFmpeg实现了一个最简单的rtmp播放器&#xff0c;它看起来工作正常。这节课&#xff0c;我们尝试让它来播放本地的mp4文件试试。 1.压缩备份上节课工程文件夹为demo3.rar&#xff0c;并修改工程文件夹demo3为demo4&#xff0c;重要的事情再说一遍…

sql执行顺序

sql执行顺序 1.from 2.on 3.join 4.where 5.group by(开始使用select中的别名&#xff0c;后面的语句中都可以使用) 6.avg,sum.... 7.having 8.select 9.distinct 10.order by 11.limit 从这个顺序中我们不难发现&#xff0c;所有的 查询语句都是从from开始执行的&#xff0c;…

rime中州韵小狼毫 Upper lua Filter 首字母大写滤镜

在 rime中州韵小狼毫 easyEnglish输入法 一文中&#xff0c; 我们定义了 easy-English 输入方案。输入效果如下&#x1f447;&#xff1a; 我们知道&#xff0c;在英文世界中&#xff0c;单词有首字母大写的习惯&#xff0c;如果我们输入 english 单词后&#xff0c;再回来改…

力扣hot00 二叉树的中序遍历

&#x1f468;‍&#x1f3eb; 题目地址 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left…

Qt6.5类库详解:QComboBox

哈喽大家好&#xff0c;欢迎关注公众号(20YC编程)&#xff0c;有免费C视频课程哦&#xff01; -今日内容- 1. QComboBox介绍 QComboBox是一个下拉列表框组件类&#xff0c;它提供了一个下拉列表供用户选择&#xff0c;也可以直接当作一个QLineEdit用作输入。 QComboBox除了显…

模糊查询导致索引失效怎么解决

模糊查询导致索引失效可能是由于模糊查询的特性&#xff0c;使得数据库引擎难以有效利用索引。以下是一些解决方法&#xff1a; 1、前缀索引&#xff1a; 如果你的模糊查询是以字符串的开头进行的&#xff0c;考虑使用前缀索引。前缀索引只包含列值的开头部分&#xff0c;可以…

探索 Vue 实例方法的魅力:提升 Vue 开发技能(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

关于Spring @Transactional事务传播机制详解

Spring事务传播机制 1.什么是事务传播机制&#xff1f;2.Spring事务传播类型Propagation介绍3.具体案例总结 Spring事务传播机制 1.什么是事务传播机制&#xff1f; 举个栗子&#xff0c;方法A是一个事务的方法&#xff0c;方法A执行过程中调用了方法B&#xff0c;那么方法B有…

微服务-OpenFeign-工程案例

Ribbon 前置知识 是NetFlix的开源项目&#xff0c;主要来提供关于客户端的负载均衡能力。从多个服务提供方&#xff0c;选取一个节点发起调用。 Feign:NetFlix,SpringCloud 的第一代LB&#xff08;负载均衡&#xff09;客户端工具包。 OpenFeign:SpringCloud自研&#xff0c…

什么是 NAS?

一、什么是 NAS&#xff1f; 在数字化时代&#xff0c;小型企业面临着日益增长的数据存储需求。为了应对这一挑战&#xff0c;网络附加存储&#xff08;NAS&#xff09;系统成为了许多企业的首选解决方案。NAS系统是一种连接到网络的存储设备&#xff0c;允许授权网络用户和异…

软件测试作业‖pytest+po+csv+html报告+cookie+selenium

软件测试作业‖pytestpocsvhtml报告cookieselenium 先用本地部署的系统试了下 或者UFT自动化测试里诺图书管理系统软件测试 # &#xff0c;#测试报告# #性能测试#&#xff0c;#测试用例#&#xff0c; #自动化测试# Selenium 的 Web自动化测试基本要求和注意事项 1.请使用ch…