Day 03

203. 移除链表元素

迭代(虚拟头节点)

class Solution
{
public:ListNode* removeElements(ListNode* head, int val){ListNode* dummyHead = new ListNode(-1, head);ListNode* prev = dummyHead;                    ListNode* curr = head;while (curr != nullptr){if (curr->val == val){prev->next = curr->next;delete curr;curr = prev->next;}else{prev = curr;curr = curr->next;}}return dummyHead->next;}
};

递归

class Solution
{
public:ListNode* removeElements(ListNode* head, int val){if (head == nullptr){return nullptr;}head->next = removeElements(head->next, val);if (head->val == val){ListNode* temp = head->next;delete head;return temp;}return head;}
};

 707. 设计链表

单链表

class MyLinkedList 
{
private:class ListNode         //链表节点的定义{public:int val;ListNode* next;ListNode() : val(0), next(nullptr) {}ListNode(int x) : val(x), next(nullptr) {}ListNode(int x, ListNode* n) : val(x), next(n) {}};ListNode* head;public:MyLinkedList(): head(nullptr){}int get(int index) {ListNode* ptr = head;while (ptr != nullptr && index >= 1){ptr = ptr->next;index--;}return ptr != nullptr ? ptr->val : -1;}void addAtHead(int val) {addAtIndex(0, val);}void addAtTail(int val){if (head == nullptr){addAtIndex(0, val);return;}ListNode* ptr = head;ListNode* newNode = new ListNode(val, nullptr);while (ptr->next != nullptr){ptr = ptr->next;}ptr->next = newNode;}void addAtIndex(int index, int val){ListNode* prev = nullptr;ListNode* curr = head;while (curr != nullptr && index >= 1){prev = curr;curr = curr->next;index--;}if (index != 0)              //index无效{return;}ListNode* newNode = new ListNode(val);if (prev == nullptr)        //插入到链表第一个节点之前或者空链表的情况{newNode->next = head;head = newNode;}else                        //一般情况{prev->next = newNode;newNode->next = curr;}}void deleteAtIndex(int index){ListNode* prev = nullptr;ListNode* curr = head;while (curr != nullptr && index >= 1){prev = curr;curr = curr->next;index--;}if (curr == nullptr)       //index无效{return;}else if (prev == nullptr)  //删除头节点或者只有一个节点的情况{head = head->next;}else                       //一般情况{prev->next = curr->next;}delete curr;}
};

 206. 反转链表

迭代

class Solution
{
public:ListNode* reverseList(ListNode* head){if (head == nullptr || head->next == nullptr){return head;}ListNode* prev = nullptr;ListNode* curr = head;while (curr != nullptr){ListNode* next = curr->next;curr->next = prev;prev = curr;curr = next;}return prev;}
};

递归

class Solution
{
public:ListNode* reverseList(ListNode* head){if (head == nullptr || head->next == nullptr){return head;}ListNode* newHead = reverseList(head->next);head->next->next = head;head->next = nullptr;return newHead;}
};

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

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

相关文章

挂个人-CSDN Java优秀内容博主rundreamsFly抄袭

事件起因 今天点开自己的CSDN博客,发现给我推了一篇文章抄袭我自己昨天18点发的文章。 就是这篇,一字不差,博主昵称是:rundreamsFly,账号是rundreams。 抄袭者文章 发布于2024-8-26 19:37:41秒,比我发布…

CoMat——解决文本与图像之间的差异

概述 论文地址:https://arxiv.org/abs/2404.03653 在文本到图像生成领域,扩散模型近年来取得了巨大成功。然而,提高生成图像与文本提示之间的一致性仍然是一个挑战。 论文指出,扩散模型中文本条件利用不足是对齐的根本原因。论…

巧用scss实现一个通用的媒介查询代码

巧用scss实现一个通用的媒介查询代码 效果展示 实现代码 <template><div class"page-root"><div class"header"></div><div class"content"><div class"car-item" v-for"item in 9">…

【HarmonyOS 4.0】@ohos.router 页面路由

注册页面&#xff0c;在src/main/resources/base/profile/main_pages.json文件新增配置。 {"src": ["pages/Index","pages/AnimateTo"] }导入 router 模块 import router from ohos.router1. router.pushUrl 跳转到应用内的指定页面会将当前页面…

掌握SQL的“删除艺术”:如何使用DROP TABLE命令

掌握SQL的“删除艺术”&#xff1a;如何使用DROP TABLE命令 在数据库管理中&#xff0c;有时候我们需要彻底删除一个表&#xff0c;这可能是为了重新设计数据库结构&#xff0c;或者因为某些表不再需要。SQL 提供了 DROP TABLE 语句来实现这一功能。本文将详细介绍 DROP TABLE…

K8S持久化存储数据

环境&#xff1a; Ubuntu-1:192.168.114.110作为主 Ubuntu-2:192.168.114.120作为从1&#xff0c;node节点1 Ubuntu-3:192.168.114.130作为从2&#xff0c;node节点2 持久化volumeMounts pod里面&#xff1a;emptyDir和hostPath。存储在node&#xff0c;NFS...&#xff0c;Clo…

【系统架构设计师-2015年】综合知识-答案及详解

【第1~2题】 某航空公司机票销售系统有n个售票点&#xff0c;该系统为每个售票点创建一个进程Pi&#xff08;i1&#xff0c;2&#xff0c;…&#xff0c;n&#xff09;管理机票销售。假设Tj&#xff08;j1&#xff0c;2&#xff0c;…&#xff0c;m&#xff09;单元存放某日某…

时序预测 | 基于DLinear+PatchTST多变量时间序列预测模型(pytorch)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 DLinearPatchTST多变量时间序列 dlinear,patchtst python代码&#xff0c;pytorch架构 适合功率预测&#xff0c;风电光伏预测&#xff0c;负荷预测&#xff0c;流量预测&#xff0c;浓度预测&#xff0c;机械领域预…

Nginx简单的安全性配置

文章目录 引言I Nginx简单的安全性配置禁止特定的HTTP方法限制URL长度禁止某些用户代理限制请求速率连接限制禁止访问某些文件类型II 常见的安全规则防御CC攻击User-Agent过滤GET-URL过滤GET-参数过滤POST过滤(sql注入、xss攻击 )引言 Nginx本身并不具备复杂的防火墙规则定制…

笔记:应用Visual Studio Profiler识别和解决内存泄漏问题

一、目的&#xff1a;应用Visual Studio Profiler识别和解决内存泄漏问题 识别和解决内存泄漏问题是确保应用程序稳定性和性能的关键步骤。 二、实现 以下是如何使用 Visual Studio Profiler 识别和解决内存泄漏问题的详细步骤&#xff1a; 1. 启动内存分析 1. 打开项目&…

应用层(Web与HTTP)

目录 常见术语 1.HTTP概况 2.HTTP连接 非持久HTTP流程 响应时间模型 持久HTTP 3.HTTP报文 3.1HTTP请求报文 3.2HTTP响应报文 HTTP响应状态码 4.Cookies&#xff08;用户-服务器状态&#xff09; cookies&#xff1a;维护状态 Cookies的作用 5.Web缓冲&#xff08;…

2024.8.30 Python 最大连续1的个数,滑动窗口,排列组合,三数之和

1.最大连续1的个数 给定一个二进制数组 nums 和一个整数 k&#xff0c;如果可以翻转最多 k 个 0 &#xff0c;则返回 数组中连续 1 的最大个数 。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1,0,0,0,1,1,1,1,0], K 2 输出&#xff1a;6 解释&#xff1a;[1,1,1,0,0,1,1…

《教育科学》

《教育科学》期刊简介 《教育科学》&#xff08;EDUCATION SCIENCE&#xff09;1985年创刊&#xff0c;是由辽宁省教育厅主管、辽宁师范大学主办的教育理论刊物&#xff0c;所属学科为教育学&#xff08;侧重社会科学&#xff09;&#xff0c;在国内外公开发行&#xff08;刊号…

私人诊所|基于SprinBoot+vue的私人诊所管理系统(源码+数据库+文档)

私人诊所管理系统 基于SprinBootvue的私人诊所管理系统 一、前言 二、系统设计 三、系统功能设计 系统功能实现 后台模块实现 管理员功能实现 患者功能实现 医生功能实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&am…

企业级Mysql 集群技术部署

目录 1.1部署mysql 1.1.1 安装依赖性&#xff1a; 1.1.2 下载并解压源码包 1.1.3 源码编译安装mysql 1.1.4 部署mysql 2.mysql的主从复制 2.1 配置masters 2.2配置slave 2.3 延迟复制 2.4 慢查询日志 2.5并行复制 2.6 原理刨析 2. 7架构缺陷 3.半同步模式 3.1半同…

Charles苹果手机https抓包

1、电脑设置Charles代理端口 1)设置代理端口 Proxy-》Proxying Settings-》HTTP Proxy 设置端口 2)设置监控的代理地址 Proxy-》SSL Proxying Settings 添加Add允许所有地址*.* 2、电脑导入Charles的ssl证书 3、电脑查看Charles的IP地址和端口 4、手机无线wifi配置代理 5、手…

QUIC(Quick UDP Internet Connections)协议

QUIC&#xff08;Quick UDP Internet Connections&#xff09;是一种基于UDP&#xff08;用户数据报协议&#xff09;的多路复用传输协议&#xff0c;由Google开发并在2013年公开。QUIC旨在解决TCP协议在现代网络应用中面临的一些性能瓶颈&#xff0c;特别是减少网络通信的延迟…

如何实现OpenHarmony的OTA升级

OTA简介 随着设备系统日新月异&#xff0c;用户如何及时获取系统的更新&#xff0c;体验新版本带来的新的体验&#xff0c;以及提升系统的稳定性和安全性成为了每个厂商都面临的严峻问题。OTA&#xff08;Over the Air&#xff09;提供对设备远程升级的能力。升级子系统对用户…

工商业光伏的三大新模式

模式一&#xff1a;垫资代建&#xff08;适合第三方投资&#xff09; 合作流程:注册项目公司&#xff0c;备案接入批复&#xff0c;项目公司质押&#xff0c;签订代建合同&#xff0c;进场施工&#xff0c;完成施工进行并网&#xff0c;融资放款&#xff0c;融资款支付代建费用…

归因分析(Attribution)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 归因1.归因是什么广告归因 2.常见的归因模型3.归因依据3.1 安卓方式3.2 IOS方式 归因 在当今纷繁复杂的数字营销环境中&#xff0c;企业面临着如何准确衡量和提升营…