力扣刷题
文章平均质量分 58
轩轩曲觞阁
C/C++在学新人
展开
-
力扣日常刷题——(142环形链表Ⅱ、138复制带随机指针的链表)
方法1:将每一个节点复制使其处于本节点之后,下一个节点之前,复制完成之后,使每个复制节点的random指针指向前一个节点的random指针指向的节点的下一个节点,遍历一遍之后,将这些复制节点分别摘出,形成一个链表并返回。方法1:使用快慢指针先使慢指针追到快指针,之后分别使两指针从起始点和相遇点开始向后移动,最终会在入环点相遇(推导如下)原创 2023-03-23 21:25:12 · 84 阅读 · 0 评论 -
力扣日常刷题——(206反转链表、21合并两个有序链表)
方法1:分别比较两个链表中对应两个的值,创建一个新链表,将其中较小的值尾插到新链表上,当某一链表元素数值均插入完成时,再将另一个链表剩余的部分尾插到新链表上,最后返回新链表。方法1:使用三个指针pre,cur,next分别指向上一个节点,本节点和下一节点,每次将cur指向next的指针改成指向pre,这之后使这三指针都向后移,不断迭代得到结果。方法2:创建一个新链表,将各个节点分别头插到新链表中,最后返回新链表。原创 2023-03-15 17:41:07 · 92 阅读 · 1 评论 -
力扣日常刷题——(876链表的中间节点、203移除链表元素)
方法1:用前后两个指针分别指向不同节点,当后面的指针指向的节点值等于目标值时,后面的指针跳过这一节点并将其释放,不断迭代得到最后结果。方法1:遍历数组一遍后用count记录总节点数,这之后使用count/2再次从头遍历,找到中间节点并返回。方法2:使用快慢指针,慢指针一次走一步,快指针一次走两步,当快指针走到结束时,慢指针指向的就是中间节点。方法2:创建一个新链表,不是val值的就尾插在它的后面,反之则不进行。因为方法一较为容易实现,这里先实现方法二。原创 2023-03-15 15:59:30 · 123 阅读 · 2 评论