![](https://img-blog.csdnimg.cn/17c3b5f793af40a19608015ad6e2fba2.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
好记性不如烂笔头
文章平均质量分 75
多学多练
王朵拉
虚心请教,三连必回
展开
-
链表练习题(2)
不相交,返回NULL即可。相交,则要判定相交的点,首先我们要确定不能使用值来找,因为,链表的值都是一样的话就无法找到。我们可以先计算两个链表的长度,长的先走abs(lenA-lenB)步,这样就能找到相交的点。分析:环形链表就是看尾节点的next是否指向链表中的节点,所以可以看成是追击问题,定义slow,fast两个指针,当二者能相遇就是有环,否则无环。分析:在判断环的基础上返回入环的第一个节点,也就是相遇的点;相交链表就是找到相交的那个节点,就存在相交和不相交两种情况。原创 2023-08-09 15:42:28 · 34 阅读 · 3 评论 -
链表练习题(1)
分析:首先这题要求是合并两个升序链表,可以考虑使用两个链表比较又因为是升序,所以采用取小尾插,如果是降序就是头插。当两个链表比较时,首先考虑链表为NULL,再进行两个链表比较,取小的尾插。第一个指针记录NULL,第二个指针记录head,第三个指针为第二个指针的next;目的是反转链表并返回反转后的链表,可以考虑使用三个指针来解答。,fast走到尾部时slow走到的位置即是倒数的第K个节点。分析:看到此题可以利用经典的快慢指针来解答。以及结束的条件为第二个指针走到NULL。分析:这题跟上面的题很相似,改变。原创 2023-08-07 22:30:25 · 25 阅读 · 1 评论 -
好记性不如烂笔头----数组练习题
所以,我们总共需要创建三个指针,两个指针用于指向 nums1 和 nums2的初始化元素数量的末位,也就是分别指向 m−1 和 n−1的位置,还有一个指针,我们指向 nums1 数组末位即可。当fast所指向的值不等于slow所指向的值时,先++指向下一个位置再将fast的值传给slow,slow++,fast++其次元素顺序可以改变,说明我们不用考虑排序的问题,加上只能原地修改数组我们可以考虑使用双指针,然后画图分析(很关键)。拿到题我们先分析,首先不能使用额外的数组空间,那就是只能在原数组上操作;原创 2023-08-03 18:12:26 · 44 阅读 · 4 评论