LeetCode707 设计链表
创始人
2024-11-20 13:38:05
0

前言

题目:707. 设计链表
文档:代码随想录——设计链表
编程语言: C++
解题状态: 代码功底不够,只能写个大概

思路

主要考察对链表结构的熟悉程度,对链表的增删改查,比较考验代码功底以及对链表的掌握。本题中的一些边界条件也要注意。

代码

class MyLinkedList { public:     struct ListNode {         int val;         ListNode* next;         ListNode(int x) : val(x), next(nullptr) {}     };      MyLinkedList() {         _dummyHead = new ListNode(0);         _size = 0;     }          int get(int index) {         if (index > (_size - 1) || index < 0) {             return -1;         }          ListNode* cur = _dummyHead -> next;          while (index--) {             cur = cur -> next;         }          return cur -> val;     }          void addAtHead(int val) {         ListNode* newNode = new ListNode(val);          newNode -> next = _dummyHead -> next;         _dummyHead -> next = newNode;          _size++;     }          void addAtTail(int val) {         ListNode* newNode = new ListNode(val);         ListNode* cur = _dummyHead;          while (cur -> next != nullptr) {             cur = cur -> next;         }         cur -> next = newNode;          _size++;     }          void addAtIndex(int index, int val) {         if (index > _size) {             return;         }          ListNode* newNode = new ListNode(val);         ListNode* cur = _dummyHead;         while (index--) {             cur = cur -> next;         }         newNode -> next = cur -> next;         cur -> next = newNode;          _size++;     }          void deleteAtIndex(int index) {         if (index >= _size || index < 0) {             return;         }          ListNode* cur = _dummyHead;         while (index--) {             cur = cur -> next;         }         ListNode* tmp = cur -> next;         cur -> next = cur -> next -> next;         delete tmp;          _size--;     }      void printLinkedList() {         ListNode* cur = _dummyHead;         while (cur -> next != nullptr) {             cout << cur -> next -> val << " ";             cur = cur -> next;         }         cout << endl;     }  private:     int _size;     ListNode* _dummyHead; }; 

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...