- 博客(8)
- 收藏
- 关注
原创 LeetCode每日一题:138. 随机链表的复制
1.复制原链条: q=Node(p.val),这个可以直接复制p结点,这里涉及到链表插入的基础知识。#2.现在原来的链表含有复制的值,现在在来移动random的值,注意新链要和新链的结点连接。#这个题目有难度,在于要分三个步骤,首先要复制结点在原链上,然后复制random在原链上。# 为什么这里又新建了一个新的结点,然后用新链来进行链接。#因为要进行插入删除,所有新建一个首节点最好。#3.最后一步进行拆分,有一点没明白的是这里。#然后还需要把这两个相互交缠的链条给拆开。
2025-09-08 23:16:24
136
原创 LeetCode每日一题:141. 环形链表
while q and q.next and q.next.next:,这样写可以很好解决q.next和q.next.next出现越界的情况。#2.如果每一次写都出现None.next的情况,则可以把要进行判断的点写到while循环的条件里面。#1.这一题直接使用快慢指针的算法思想就可以了。
2025-09-04 15:27:09
79
原创 LeetCode每日一题:61. 旋转链表
5.返回的时候是返回那个节点,选择r的话就是最后一个结点,所有要保存 pre=r.next。#4.链表里面不能和线性表一样,直接使用len(num),要想统计他的长度,必须采取使用。#思路:观察可以发现从哪里把链表拆开,发现,可以知道从lenth-k处拆开。#2.依然要考虑链表为空和链表只有一个节点的情况。#循环的方式,移动指针,去一个个统计结点的个数。#3.还需要考虑k=0的情况。
2025-09-04 14:48:30
207
原创 LeetCode每日一题:1929. 数组串联
extend(iterable):把 可迭代对象里的元素 一个个拿出来,依次加到列表里。#形象比喻就是你拆开箱子,把里面的东西一个个拿出来放进房间。#1.python语法知识:extend函数,#与append对比:y = [1]
2025-08-31 13:02:30
291
原创 LeetCode每日一题:1920. 基于排列构建数组
如果班级号一定 ≤ 99,学号 ≤ 999,那么你就可以写成班级号+100×学号。#2.这里乘的不是100,而是n,因为最终取余也是n,最后取余和向下取整是为了分离。#3.打包的时候如何避免打包到前面已经打包好的呢,还是对n取余,因为根据。# 设你要把「班级号」和「学号」写在一张纸上,但只允许写一个整数。# 拆的时候:% 100 得到班级号;// 100 得到学号。#1.原地操作 + 打包技巧;介绍一下原地打包的形象理解。#可以知道取余后就是原来的nums[i]
2025-08-31 12:07:45
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人