当前位置: 首页 > news >正文

杭州手机网站建设公司 网络服务有关做洁净工程的企业网站

杭州手机网站建设公司 网络服务,有关做洁净工程的企业网站,域名网址,百度seo排名优化软件分类文章目录 13.1 数据结构介绍13.2 链表的基本操作206. 反转链表(简单)21. 合并两个有序链表(简单)24.两两交换链表中的节点(中等) 13.3 其它链表技巧160. 相交链表(简单)234. 回文链表…

文章目录

  • 13.1 数据结构介绍
  • 13.2 链表的基本操作
    • 206. 反转链表(简单)
    • 21. 合并两个有序链表(简单)
    • 24.两两交换链表中的节点(中等)
  • 13.3 其它链表技巧
    • 160. 相交链表(简单)
    • 234. 回文链表(简单)
  • 13.4 练习
    • 83. 删除排序链表中的重复元素(简单)
    • 328. 奇偶链表(中等)
    • 19. 删除链表的倒数第 N 个结点(中等)
    • 148. 排序链表(中等)
  • 总结

13.1 数据结构介绍

  • (单)链表是由节点和指针构成的数据结构,每个节点存有一个值,和一个指向下一个节点的指针,因此很多链表问题可以用递归处理。不同于数组,链表并不能直接获取任意节点的值,必须要通过指针找到该节点后才能获取值。同理,在未遍历到链表结尾时,我们也无法知道链表长度,除非依赖其他数据结构。

  • LeetCode 默认的链表表示方式如下:

    struct ListNode{int val;ListNode *next;ListNode(int x) : val(x), next(nullptr){}
    };
    
  • 由于在进行链表操作的时候,尤其是删除节点,经常会因为对当前节点进行操作而导致内存或指针出现问题。有两个小技巧可以解决这个问题:一是尽量处理当前节点的下一个节点而非当前节点;二是建立一个虚拟节点(dummy node),使其指向当前链表的头节点,这样即使原链表所有节点被删除,也会有一个 dummy 存在,返回 dummy->next 即可。

13.2 链表的基本操作

206. 反转链表(简单)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路及代码: 206. 反转链表

21. 合并两个有序链表(简单)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路及代码: 21. 合并两个有序链表

24.两两交换链表中的节点(中等)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路及代码: 24.两两交换链表中的节点

13.3 其它链表技巧

160. 相交链表(简单)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路及代码: 160. 相交链表

234. 回文链表(简单)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

思路及代码: 234. 回文链表

13.4 练习

83. 删除排序链表中的重复元素(简单)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

思路及代码: 83. 删除排序链表中的重复元素

328. 奇偶链表(中等)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

思路及代码: 328. 奇偶链表

19. 删除链表的倒数第 N 个结点(中等)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

思路及代码: 19. 删除链表的倒数第 N 个结点

148. 排序链表(中等)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路及代码: 148. 排序链表

总结

  • 指针题目通常需要画图,仔细分析节点之间的连接关系,确定连接顺序。

  • 通常设置一个虚拟节点 dummy,注意书写方式。数据域可以不存储任何信息,指针域存储指向开始节点的指针(即第一个元素节点的存储位置)。 虚拟节点作用很大,可以自行百度。

    ListNode *dummy = new ListNode(), *cur = dummy;
    
  • 链表的自定义构造函数(ACM模式需要自己写出来):

    /*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
    
  • 链表的其他技巧:通常用到数学思想,比如能够判断环的快慢指针,利用快慢指针找到链表中点。

http://www.yayakq.cn/news/524412/

相关文章:

  • 你做的网站可视区域多少钱手机制作封面教程网站
  • 网站模板可以自己做风信子 网站建设
  • 做导航网站把别人的网址链接过来要经过允许吗wordpress能仿站吗
  • 北京网站优化开发软件能赚多少钱
  • 学做网站看书会了吗怎么自己制作二维码内容
  • 宁夏网站开发设计说明书海口网站制作
  • 汽车网站方案最牛的房地产网站建设
  • 网站源码平台赣县网站制作
  • 导购类网站备案会计培训班的费用是多少
  • 做外贸卖小商品是哪个网站中信建设证券有限责任公司
  • 福州网站建设电话如何做好营销型网站用户体验
  • 网站设计知识做模板网站的利与弊
  • 整形网站 源码创业网站模板
  • 吉首企业自助建站龙岗建设高端网站
  • 网站开发任务清单网址大全导航
  • 广州住建官方网站做网站主播要什么条件
  • 株洲网站建设开发长沙网站设计建设
  • 广州快速建站公司推荐特价网站建设价格
  • 网站在建设中模板wordpress 调用
  • 网站建设推广怎么玩wordpress5.2添加外链
  • 徐州市建设局招投标网站张家口建设部网站
  • 厦门行业网站建设石家庄网站开发费用
  • 好的文案网站球形网架公司
  • 鑫鼎信长春网站建设怎么做创意短视频网站
  • 昌乐网站设计办网站需要什么
  • 厦门仿站定制模板建站asp网站改php网站方法
  • 怎么做同学录的网站响应式网站建设模板下载
  • 怎么做网站的项目预算天水建设局网站渣土治理
  • 网站中图片下移怎么做中小型网站建设方案
  • 嘉兴本地推广网站有哪些关于水果怎么做网站