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.hqwc.cn/news/317819.html

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

相关文章

Java最新技术介绍和分析 (202305)

说明&#xff1a;本文完成了2023年5月份&#xff0c;当时最新的LTS版本是Java17&#xff0c;本文在撰写时参考了美团技术团队和阿里JDK团队相关的文章&#xff0c;以及本文也引了用文章中的图片。在此表示感谢&#xff01; Java版本火车 相信老牌的Java开发者和爱好者把Java的…

springboot日志

1、日志用途 故障排查和调试&#xff1a;当项目出现异常或者故障时&#xff0c;日志记录可以快速帮助我们定位到异常的部分以及知道异常的原因。性能监测和优化&#xff1a;通过在关键代码路径中添加日志记录&#xff0c;可以了解应用程序的性能表现&#xff0c;并根据性能表…

四、HTML 属性

属性是 HTML 元素提供的附加信息。 一、HTML 属性 HTML 元素可以设置属性属性可以在元素中添加附加信息属性一般描述于开始标签属性总是以名称/值对的形式出现&#xff0c;比如&#xff1a;name"value"。 二、 属性实例 HTML 链接由 <a> 标签定义。链接的地…

网约车“卷”向:滴滴、T3、麦田商旅们的下一个十年

配图来自Canva可画 近期&#xff0c;东北冰雪大世界、圣索菲亚教堂和中央大街等景点人气“爆棚”&#xff0c;为了方便南方“小土豆”出行&#xff0c;东北多地延长了公交、地铁的运营时间&#xff0c;同时呼吁本市市民文明待客&#xff0c;开网约车的东北大哥都成了“夹子音”…

Python贪吃蛇小游戏(PyGame)

文章目录 写在前面PyGame入门贪吃蛇注意事项写在后面 写在前面 本期内容&#xff1a;基于pygame的贪吃蛇小游戏 实验环境 python3.11及以上pycharmpygame 安装pygame的命令&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygamePyGame入门 pygam…

初识STL

目录 ​&#x1f4a1;STL &#x1f4a1;STL六大组件 &#x1f4a1;三大组件介绍 &#x1f4a1;容器 &#x1f4a1;算法 &#x1f4a1;迭代器 &#x1f4a1;示例 &#x1f4a1;STL C STL&#xff08;标准模板库&#xff09;是一套功能强大的 C 模板类&#xff0c;提供了…

IO进程线程 day4 文件IO与目录操作

1.使用标准IO完成两个文件拷贝 #include <head.h> int main(int argc, const char *argv[]) {//判断输入是否合法if(argc>3){printf("输入不合法\n");return -1;}//定义两个文件指针&#xff0c;用于读写FILE *fp1NULL;FILE *fp2NULL;if((fp1fopen(argv[1]…

如何评估 RAG 应用的质量?最典型的方法论和评估工具都在这里了

随着 LLM(Large Language Model)的应用逐渐普及&#xff0c;人们对 RAG(Retrieval Augmented Generation)场景的关注也越来越多。然而&#xff0c;如何定量评估 RAG 应用的质量一直以来都是一个前沿课题。 很显然&#xff0c;简单的几个例子的对比&#xff0c;并不能准确地衡量…

【操作系统xv6】学习记录--实验1 Lab: Xv6 and Unix utilities--未完

ref:https://pdos.csail.mit.edu/6.828/2020/xv6.html 实验&#xff1a;Lab: Xv6 and Unix utilities 环境搭建 实验环境搭建&#xff1a;https://blog.csdn.net/qq_45512097/article/details/126741793 搭建了1天&#xff0c;大家自求多福吧&#xff0c;哎。~搞环境真是折磨…

金和OA C6 UploadFileEditorSave.aspx 文件上传漏洞复现

0x01 产品简介 金和OA协同办公管理系统软件(简称金和OA),本着简单、适用、高效的原则,贴合企事业单位的实际需求,实行通用化、标准化、智能化、人性化的产品设计,充分体现企事业单位规范管理、提高办公效率的核心思想,为用户提供一整套标准的办公自动化解决方案,以帮助…

实现最高效的数据转换:深入了解Achronix JESD204C解决方案

作者&#xff1a;Manish Sinha&#xff0c;Achronix战略规划与业务发展部 长期以来&#xff0c;Achronix为不同行业的数据密集型和高带宽应用提供了创新性的FPGA产品和技术&#xff0c;并帮助客户不断打破性能极限。其中一些应用需要与先进的模拟/数字转换器&#xff08;ADC&a…

UI自动化测试框架搭建

今天给大家分享一个seleniumtestngmavenant的UI自动化&#xff0c;可以用于功能测试&#xff0c;也可按复杂的业务流程编写测试用例&#xff0c;今天此篇文章不过多讲解如何实现CI/CD&#xff0c;只讲解自己能独立搭建UI框架&#xff0c;需要阅读者有一定的java语言基础&#x…