| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 、 19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交 、142.环形链表II -> 正文阅读 |
|
[数据结构与算法]代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 、 19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交 、142.环形链表II |
24. 两两交换链表中的节点题目链接:24. 两两交换链表中的节点 【思路】画图后就容易理解了,别忘了定义临时变量保存要被丢掉的节点。借用卡哥的图来看一下:
【代码】
19.删除链表的倒数第N个节点题目链接: 19.删除链表的倒数第N个节点 【思路】采用双指针进行操作,首先快指针先走n个节点,然后快慢指针同时前进,当快指针到达链表尾节点,即 -我们要删除节点,需要知道它的上一个节点,才能操作 【代码】
注意: C++不要忘记释放临时节点。 面试题 02.07. 链表相交题目链接: 面试题 02.07. 链表相交 【思路】链表的长度不同,所以需要先统计两个链表的长度,然后将指针向前移动长度之差个节点,然后两个节点同时向前移动,指针相等时,即为相交,返回指针。
【代码】
【注意】
142.环形链表II题目链接: 142.环形链表II 【思路】此题比较难理解,必须借助画图来理解。
(x + y) * 2 = x + y + n (y + z) 因为要找环形的入口,那么要求的是x,因为x表示头节点到环形入口节点的的距离。 先拿n为1的情况来举例,意味着fast指针在环形里转了一圈之后,就遇到了 slow指针了。 当 n为1的时候,公式就化解为 x = z 【代码】
此题值得好好回味 总结
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:30:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |