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

单链表/双链表/循环链表

1. 单链表

总概述

1.1 尾插

1.2 头插

1.3 尾删

法一:

法二:

1.4 头删

1.5 查找

1.6 某个节点前插入

1.7  删除某个节点

1.8 某个节点后面插入

1.9 删除某个节点后一个节点

1.10 销毁

1.11 测试和头文件

头文件

测试

1.11 OJ题【调试技巧】

1.11.1 题目一

203. 移除链表元素 - 力扣(LeetCode)

遍历链表,当发现不是要找的那个元素就直接拷贝到新的链表里面,如果是要删的元素,就直接在原链表里面跳过并且释放,不用拷贝到新的链表里面

调试技巧:快速手搓链表

 struct ListNode* n1 = (struct ListNode*)malloc(sizeof(struct ListNode));
 struct ListNode* n2 = (struct ListNode*)malloc(sizeof(struct ListNode));
 struct ListNode* n3 = (struct ListNode*)malloc(sizeof(struct ListNode));
 struct ListNode* n4 = (struct ListNode*)malloc(sizeof(struct ListNode));
 n1->val = 1;
 n2->val = 1;
 n3->val = 2;
 n4->val = 1;
 n1->next = n2;
 n2->next = n3;
 n3->next = n4;
 n4->next = NULL;

1.11.2 题目二

876. 链表的中间结点 - 力扣(LeetCode)

采用时间速度上的快慢指针的方式,快指针一次走2个结点,慢指针一次走1个结点

1.11.3 题目三

链表中倒数最后k个结点_牛客题霸_牛客网

采用空间上的快慢指针

1.11.4 题目四

LCR 024. 反转链表 - 力扣(LeetCode)

先画图,再写代码,最后调试!

三指针

法二:头插到新链表(推荐)

1.11.5 题目五

21. 合并两个有序链表 - 力扣(LeetCode)

谁小就取谁尾插,尾插可以考虑用带哨兵位的头节点

1.11.6 题目六

面试题 02.04. 分割链表 - 力扣(LeetCode)

小于尾插到一个链表,大于等于尾插到另一个链表,然后再链接起来

1.11.7 题目七

LCR 027. 回文链表 - 力扣(LeetCode)

利用快慢指针找到中间节点,从中间结点开始对后半段逆置,前半段和后半段比较

1.11.8 题目八

LCR 023. 相交链表 - 力扣(LeetCode)

分别求两个链表的长度,让长的链表先走差距步,同时走第一个地址相同就是交点

1.11.9 题目九

141. 环形链表 - 力扣(LeetCode)

1.11.10 题目十

LCR 022. 环形链表 II - 力扣(LeetCode)

方法一:

一个指针从起始点出发,另一个指针从相遇点出发,他们会在入口点相遇!

方法二:

将相遇点和它的下一个结点断开,转换成求交点问题

2.带哨兵位的双向循环链表

2.1 创建结点

2.2 初始化

2.3 销毁

2.4 打印

2.5 尾插

2.6 尾删

2.7 判空

2.8 头插

2.9 头删

2.10 pos前插入

2.11 删除pos指向的结点

2.12 查找x

2.13 头文件和测试

2.14 OJ题

LCR 154. 复杂链表的复制 - 力扣(LeetCode)

每个拷贝结点都链接在原结点的后面

拷贝结点的random是原结点的random->next

拷贝结点接下来,链接成新链表,并且恢复原链表

3.链表和顺序表的区别

推荐书籍:较难

http://www.dtcms.com/a/396129.html

相关文章:

  • 如何网站专题策划志愿服务网站开发
  • 宁波建设监理协会网站中国建设招标工程网站
  • PyQt5 中 LineEdit 控件数据的批量存储与读取
  • 商城网站需要多少空间四川建设厅的网站
  • 陕西建设银行缴费网站全球网络营销公司排名
  • 超快轻量级离线翻译服务器MTranServer在腾讯云轻量应用服务器上的全流程部署指南
  • 山东网站优化推广手机软件开发学什么
  • 自己做网站吗天元建设集团有限公司济宁分公司
  • 网站怎么推广引流巩义市网站建设培训班
  • 网站建设珠海 新盈科技做影视网站风险大吗
  • 开发网站需要问什么金华网络公司网站建设
  • 企业网站推广17有免费的网站服务器吗
  • 清欢互联网网站建设中国交通建设工程监督管理局网站
  • 二刷DC: 6靶场
  • Redis存储对象选择String还是Hash呢?怎么选择?
  • 中国安能建设集团有网站网络公司哪个效果好
  • 昆山科技网站建设无锡网站排名优化报价
  • 做文献综述的文章用什么网站蚌埠网页设计
  • 网站开发报价明细表深圳市建网站公司
  • 自己做的网站被攻击了uc网页浏览器网页版
  • 审计追溯困难会对企业带来哪些风险
  • 一维差分(扫描线)之区间重叠
  • 电子商务网站怎么做二级子域名查询入口
  • 怎么查看网站虚拟空间wordpress中文编辑器插件安装
  • 17网站一起做网店新塘亚马逊关键词排名提升
  • 网站优化qq群南宁seo优势
  • 做电影网站失败了yeezy橙色
  • 硬件驱动——I.MX6ULL裸机启动(9)(RGBLCD相关设置)
  • php网站开发报告书wordpress手机主题mip
  • 济南教育论坛网站建设广州公司电商网站建设