D6 707.设计链表

news/2026/1/21 23:29:02/文章来源:https://www.cnblogs.com/SCONLY/p/19503209

707 设计链表(力扣:https://leetcode.cn/problems/design-linked-list/

条件: 见原题链接
Tips:

代码:

点击查看代码
struct ListNode{int val;ListNode* prev;ListNode* next;//使用初始化列表ListNode( int num ) : val(num), prev(nullptr), next(nullptr){}
};
//结构体结束的分号不要丢class MyLinkedList {
private:ListNode* head;int size;public:MyLinkedList() {head = nullptr;size = 0;}int get(int index) {if( index >= size){return -1;}ListNode* current = head;for(int i = 0; i < index; i++){current = current->next;}//current是指针,要用->而非.return current->val;}//极端情况是空链表,不要忘记void addAtHead(int val) {//创建值为val的新节点ListNode* newHead = new ListNode(val);if( head = nullptr){head = newHead;}else{//这里只用把新head和旧head的指针更新newHead->next = head;head->prev = newHead;head = newHead;}size++;}//空链表要考虑void addAtTail(int val) {ListNode* newTail = new ListNode(val);if(head = nullptr){head = newTail;}else{ListNode* current = head;//这里用while遍历更高效,因为尾部的特点是next一定为nullptrwhile( current->next != nullptr ){current = current->next;}current->next = newTail;newTail->prev= current;size++;}}void addAtIndex(int index, int val) {//void函数不能breakif(index >= size){return;//头尾用成员函数}else if( index == 0 ){addAtHead(val);}else if( index == size){addAtTail(val);}else{ListNode* current = head;//不需要节点内再定义一个index//for这里按顺序遍历到的i自然对应节点的排位for(int i = 0; i < index - 1; i++){current = current->next;}ListNode* newNode = new ListNode(val);newNode->next = current;current->prev = newNode;if(current->next != nullptr){current->next->prev = newNode;}current->next = newNode;size++;}}void deleteAtIndex(int index) {if (index < 0 || index >= size) {return;  // 无效索引}if (index == 0) {  // 删除头节点ListNode* toDelete = head;head = head->next;if (head != nullptr) {head->prev = nullptr;}delete toDelete;} else {// 找到第index-1个节点ListNode* current = head;for (int i = 0; i < index - 1; i++) {current = current->next;}ListNode* toDelete = current->next;current->next = toDelete->next;if (toDelete->next != nullptr) {toDelete->next->prev = current;}delete toDelete;}size--;}
};/*** Your MyLinkedList object will be instantiated and called as such:* MyLinkedList* obj = new MyLinkedList();* int param_1 = obj->get(index);* obj->addAtHead(val);* obj->addAtTail(val);* obj->addAtIndex(index,val);* obj->deleteAtIndex(index);*/

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

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

相关文章

实验室智能监控系统实战源码-基于YOLOv8的实时目标检测与PyQt5可视化界面

实验室智能监控系统实战源码-基于YOLOv8的实时目标检测与PyQt5可视化界面 前言 实验室安全管理一直是科研机构和教育单位的重点。传统依赖人工巡查的方式存在效率低、易遗漏、成本高等问题&#xff0c;难以满足全天候监控需求。随着计算机视觉技术的发展&#xff0c;基于深度…

毕业党救星!5个降AI率工具大公开,亲测好用,能帮你把AI率降低80%以上

上周答辩前夕&#xff0c;我室友差点崩溃——论文被导师退回来了&#xff0c;原因是"疑似大量使用AI生成内容"。她哭着说&#xff1a;"我明明自己改过好几遍啊&#xff0c;为什么还是被查出来了&#xff1f;" 这场景我太熟悉了。去年我自己也经历过&#…

如何在idea中创建mavenweb项目

1、首先进入idea,正常新建一个maven项目2、建立完成之后会出现java、resources这两个包。在main包里面,也就是和java、resources这两个包同一级中新建一个webapps的包(这个包的包名是任意的,这里就先命名webapps)…

AI率过高有救了!这5个工具实测能打,可将论文AIGC痕迹大幅降低80%

上周答辩前夕&#xff0c;我室友差点崩溃——论文被导师退回来了&#xff0c;原因是"疑似大量使用AI生成内容"。她哭着说&#xff1a;"我明明自己改过好几遍啊&#xff0c;为什么还是被查出来了&#xff1f;" 这场景我太熟悉了。去年我自己也经历过&#…

Java毕设项目推荐-基于springboot+vue的全国走失儿童认领与登记系统【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

工控人注意了:Windows近期系统更新会导致你电脑的西门子软件TIA Portal 无法使用,你中招了吗?

工控人注意了:Windows近期系统更新会导致你电脑的西门子软件TIA Portal 无法使用,你中招了吗?一、问题点 注意! 注意! 注意! 近期由于Microsoft Windows 推送了安全更新(KB5058411),由于很多西门子SIEMENS 用户…

开箱即用的番茄叶片病害识别平台|YOLOv8+PyQt5实战指南

基开箱即用的番茄叶片病害识别平台&#xff5c;YOLOv8PyQt5实战指南 随着人工智能技术在农业领域的应用不断深入&#xff0c;作物病害识别正迎来全新的智能化解决方案。番茄作为全球广泛种植的重要经济作物&#xff0c;其叶片病害种类繁多、症状复杂&#xff0c;相似病症常导致…

计算机Java毕设实战-基于springboot的走失儿童认领与登记系统基于springboot+vue的javaweb宝贝回家走失儿童报备【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

学生党必看:3步轻松改写AI文献综述,教你如何用AI把AI率从80%降到5%!

最近不少同学私信我&#xff0c;说论文的AI率高得离谱。 用AI写的文献综述&#xff0c;看起来逻辑完美&#xff0c;排版工整&#xff0c;可检测一跑——AI率80%。 其实问题不在AI&#xff0c;而在“太像AI”。 AI写的内容没有错&#xff0c;只是写得太“顺”&#xff0c;太“像…

强烈安利MBA必备TOP8 AI论文软件

强烈安利MBA必备TOP8 AI论文软件 2026年MBA学术写作工具测评&#xff1a;为何值得一看 在MBA学习与研究过程中&#xff0c;论文撰写是一项不可或缺的环节&#xff0c;但同时也伴随着诸多挑战。从选题构思到文献综述&#xff0c;从数据整理到格式规范&#xff0c;每一个步骤都可…

基于SpringBoot+Vue医疗陪护服务平台的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

Java计算机毕设之基于springboot+vue的走失儿童认领与登记系统基于SpringBoot的宝贝回家走失儿童报备系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【第1章>第17节】图像黒色顶帽理论分析与MATLAB仿真测试

目录 1.黑色顶帽的核心原理 2.图像黒色顶帽运算的MATLAB仿真测试 欢迎订阅FPGA图像处理算法开发教程 《FPGA图像处理算法开发学习教程》 黑色顶帽(Black Top-hat)是形态学变换的重要分支,在工业检测、医学影像、遥感图像分析等领域有着广泛的应用。黑色顶帽变换用于增…

AI与Python双驱动计量经济学多源数据处理、机器学习预测及复杂因果识别

随着数字经济时代的全面到来&#xff0c;经济学与管理学的研究范式正经历着一场深刻的“数据革命”。传统的计量经济学模型虽然在因果推断方面具有严谨的理论基础&#xff0c;但在面对海量、高维、非标准化、非结构化数据&#xff08;如文本、图像&#xff09;时&#xff0c;往…

Java网络编程:InetAddress 详解

基本概念InetAddress 是 Java 网络编程 中用于表示 IP 地址&#xff08;IPv4 或 IPv6&#xff09;的核心类&#xff0c;位于 java.net 包中。它封装了 IP 地址与主机名 的映射关系&#xff0c;并提供了多种静态方法来获取本地或远程主机的地址信息。相关方法1.获取本机 InetAdr…

论文AI率过高被警告?学生党的急救方案:降AI工具一键改写,亲测有效!

最近不少同学私信我&#xff0c;说论文的AI率高得离谱。 用AI写的文献综述&#xff0c;看起来逻辑完美&#xff0c;排版工整&#xff0c;可检测一跑——AI率80%。 其实问题不在AI&#xff0c;而在“太像AI”。 AI写的内容没有错&#xff0c;只是写得太“顺”&#xff0c;太“像…

Java毕设项目:基于springboot的走失儿童认领与登记系统(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

HEX文件合并全攻略:从原理到实战

目录 一、合并前的核心原理&#xff08;必懂&#xff09; 二、分场景详细合并方法 场景 1&#xff1a;新手首选 ——GUI 可视化工具&#xff08;无代码&#xff0c;易操作&#xff09; 方法 1&#xff1a;HexMerge&#xff08;Microchip 官方&#xff0c;跨平台&#xff0c…

Kubernetes Dashboard部署与可视化管理实战

文章目录 1. 实战概述 2. 实战步骤 2.1 Kubernetes Dashboard配置文件 2.1.1 Kubernetes角色控制 2.1.2 kubernetes-dashboard.yaml 2.2 安装Kubernetes Dashboard 2.2.1 创建命名空间 2.2.2 应用配置文件部署Dashboard 2.2.3 验证部署状态 2.2.4 创建ServiceAccount 2.2.5 绑定…

还在为AI率头疼?学生党福音:降AI工具免费降重攻略,轻松通过学校AI检测

最近不少同学私信我&#xff0c;说论文的AI率高得离谱。 用AI写的文献综述&#xff0c;看起来逻辑完美&#xff0c;排版工整&#xff0c;可检测一跑——AI率80%。 其实问题不在AI&#xff0c;而在“太像AI”。 AI写的内容没有错&#xff0c;只是写得太“顺”&#xff0c;太“像…