一:题目


二:上码

class MyLinkedList {public://定义链表节点结构体struct LinkedNode {int val;LinkedNode* next;LinkedNode(int val):val(val), next(nullptr){}};// 初始化链表MyLinkedList() {node = new LinkedNode(0); // 这里定义的头结点 是一个虚拟头结点,而不是真正的链表头结点_size = 0;}//根据示例我们可以得出下标为0的是第一个数值int get(int index) {if(index > _size - 1 || index < 0){//链表数值范围[0,_size-1]return -1;}   LinkedNode *temp = node->next;while(index--){//这个index--,可以让我们知道指针往后移动的次数,直到为0找到为止temp = temp->next;}return temp->val;}//插入一个新结点 为头节点void addAtHead(int val) {LinkedNode*newNode = new LinkedNode(val);newNode->next = node->next;node->next = newNode;_size++;}    //在尾部插入一个结点void addAtTail(int val) {LinkedNode *newNode = new LinkedNode(val);LinkedNode* temp = node;while(temp->next != NULL){temp = temp->next;}temp->next = newNode;_size++;}//第一种情况:比如(1,2) 则在第二个元素的位置插入2//如果index等于链表长度则在结尾插入一个值//如果大于链表的长度则返回空void addAtIndex(int index, int val) {if(index > _size){return;}LinkedNode* newNode = new LinkedNode(val);LinkedNode* temp = node;//第一个结点是虚拟结点//比如 原来的链表为1->3  然后插入(1,2) 因为有虚拟结点的存在所以//链表实际为(0->1->3)  所以当index为0的时候 temp 指向是链表中的1while(index--){temp = temp->next;}newNode->next = temp->next;temp->next = newNode;_size++;}void deleteAtIndex(int index) {if(index < 0 || index > _size-1)//大于链表的长度return ;LinkedNode* temp = node;while(index--){temp = temp->next;}//当结束while循环的时候  这时候的temp指向的是要删除结点的前一个结点LinkedNode *cmp = temp->next;//cmp指向了要删除的结点temp->next = temp->next->next;delete cmp;_size--;}private:int _size;LinkedNode * node;
};/*** 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);*/


渣渣杰又水了一道 ,这个是关于链表的增删查,得理解每个函数中的边界条件 其次多敲两遍 会熟练一些
晚安 陌生的你 最近开始睡前听播客了 感觉有一个人 一直在我耳边叨叨 排解孤独 还有助入睡 我在知乎上看一篇文章的时候 那篇文章 提到了 张爱玲的《倾城之恋》最近就靠他入睡了 晚安晚安 陌生人!!!

leetcode707:设计链表(增删差)相关推荐

  1. 链表-1(链表理论基础、移除链表元素、设计链表翻转链表)

    链表理论基础 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思). 单链表 双链表 ...

  2. day03链表基础_移除链表元素_设计链表_反转链表

    链表理论基础 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思). 链表的入口节点称 ...

  3. 【实战】ACM 选手图解 LeetCode 设计链表

    大家好呀,我是蛋蛋. 今天来设计链表,强行学明白链表的 5 种操作. 板凳摆好,直接开整. LeetCode 107:设计链表 题意 实现链表的查找.头插法.尾插法.通用插入.删除操作: get(in ...

  4. 卷进大厂系列之LeetCode刷题笔记:设计链表(中等)

    学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下 ...

  5. Java设计链表(不带头结点的单链表)

    设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要使用双向链表,则还需要一个属性 ...

  6. leetcode设计链表,非常工整的实现你值得拥有

    设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要使用双向链表,则还需要一个属性 ...

  7. 设计链表(Leetcode第707题)

    此题涵盖了链表的常见操作,是练习链表操作非常好的一道题目 此题涵盖了链表的常见操作,是练习链表操作非常好的一道题目 此题涵盖了链表的常见操作,是练习链表操作非常好的一道题目 题目描述: 设计链表的实现 ...

  8. python求单链表的长度_709. 设计链表(Python)

    题目 难度:★★☆☆☆ 类型:链表,设计题 设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针 ...

  9. 力扣707设计链表(单链表,JavaScript)

    1,头指针指向列表第一个元素,尾指针指向链表最后一个元素,链表末尾的index=this.size-1 var MyLinkedList = function() {this.size=0this.h ...

最新文章

  1. 抢了人类编辑饭碗的AI算法,会完胜吗?
  2. 无线分类新写法,是不是很吊@!
  3. MapInfo开发心得——多地图关联篇【转】
  4. Python——蟒蛇绘制
  5. 绝了!Pandas绘图功能
  6. ueditor php 网络链接错误,ueditor使用editor.execCommand( 'link', {})插入链接无效的问题...
  7. NSIS 查找文件是否存在,并设置安装路径
  8. hadoop设置java环境_hadoop安装(3)_Linux配置JDK环境
  9. integer 负数字符串比较_JAVA源码之Integer-1
  10. 日期时间选择器 DateTimePicker 1127
  11. 线程Thread类的start()方法和run()方法
  12. Android自定义Toast
  13. Centos-redis安装配置
  14. GridView的多表头(排序)实例方法
  15. MySQL8.0 - 新特性 - 临时表改进 1
  16. 在苹果笔记本如何使用python_苹果电脑系统如何运行python工具介绍
  17. Linux使用命令行工具管理用户和组
  18. win10禁用全角_Win10微软拼音无法切换输入法全角和半角怎么办?
  19. 系统名称:联想ThinkpadOEM Win7SP1简体中文旗舰版原版光盘镜像64位
  20. java计算机毕业设计基层党支部建设平台源码+mysql数据库+系统+lw文档+部署

热门文章

  1. django11:自动序列化/批量插入数据/分页器
  2. Elasticsearch 实战经验总结
  3. C语言试题七十之请编写函数判断年份是否为闰年
  4. C和指针之删除字符串第一次出现的子串
  5. qqp2011java_腾讯开放平台中实现QQ登陆的功能
  6. 想给男友一个惊喜,没想到是这样的结局......
  7. 论文排版怕翻车?这个排版神器赶紧用起来!
  8. 限时秒杀┃月销10000+件,风靡全国的steam科学实验套装
  9. 震惊整个世界的新发现,科学界的大骗局
  10. 用数学模型向你解释离婚