lc绝对高频82题
困难
中等
3. ⽆重复字符的最⻓⼦串
22.04.28 一遍过
146. LRU缓存机制
22.04.28 一星 看答案一遍过,思路有,代码有些不熟,
215. 数组中的第K个最大元素
22.04.28 一遍过
15. 三数之和
22.04.28, 一星 差了一个j<k-1
条件,其他基本没问题
102. 二叉树的层序遍历
22.04.28, 一星 差了一个q.pop()
条件,其他没问题
103. 二叉树的锯齿形层序遍历
22.04.28, 一遍过
236. 二叉树的最近公共祖先
22.04.28, 二星,有思路但是模糊,代码不对
33. 搜索旋转排序数组
22.04.28, 二星,有思路,代码漏条件,比较的一直是最左边的值nums[0]
而不是nums[l]
92. 反转链表(II)
22.05.02, 二星,有思路,代码漏条件,a,b,c,d四个节点捋清楚了但是互相指向不对
142. 环形链表(II)
22.05.02, 一星,有思路,代码漏条件,s,f指针的循环条件有些不对
for (auto p = head; p; p = p->next) {}
改为
while (s && f)
54. 螺旋矩阵
22.05.02, 一遍过,调试5分钟
300. 最长上升子序列
22.05.02, 三星,基本不会DP
143. 重排链表
22.05.02, 一遍过,挺意外的,调了15分钟
199. 二叉树右视图
22.05.02, 秒了
56. 合并区间
22.05.02, 二星,思路有,代码不全
1. 忘记sort(math.begin(), math.end())
2. 比较条件反了
if (lm <= r) {}
改为
if (lm > r) {} 更容易判断
19. 删除链表倒数第N个节点
22.05.02, 秒了
82. 删除排序链表中的重复元素 II
22.05.02, 秒了
8. 字符串转换整数 (atoi)
22.05.02, 基本一遍过,注意231是INT_MAX
148. 排序链表
22.05.04, 二星,思路有,代码没写出来
1. 搞清楚记住i
和j
得含义,写出合理的循环
2. 每层pre
头节点得嵌入
3. 每段区间的比较判断条件l<i && r<i
不能忘
2. 两数之和
22.05.04, 一星,思路有,代码不全
1. 记住dfs截至条件if(pl>pr) return NULL
2. 递归建立左右子树得范围
93. 复原IP地址
105. 从前序与中序遍历序列构造二叉树
22.05.04, 一星,思路有,代码不全
1. 记住l1->val
在空节点和时候如何取到0,int n1 = l1 ? l1->val : 0
2. 增加新节点的定义方式cur->next = new ListNode(ans)
31. 下一个排列
22.05.04, 二星,思路有,代码没写出来
1. 搞清楚字典序比较的是相邻两个元素得升降序nums[i]<num[i+1]
2. 找到后,交换其后第一个大于其得值且反转后面
1143. 最长公共子序列
22.05.04, 三星,DP永远得痛
22. 括号生成
22.05.04, 秒了
129. 求根节点到叶节点数字之和
22.05.04, 一星,思路有,代码不全
1. 退出返回的条件是if(!cur) return
也想到了,但是和另一种相加的情况搞混
2. 除了sum=sum*10+cur->val之外,还有if (!cur->left && !cur->right) res += sum;
叶子结点的值相加
113. 路径总和(2)
22.05.07, 一星,思路很接近,代码也很接近,看了之前的答案,从照猫画虎到了明白,调试器是很有用的,基本相当于自己重写了一份自己最懂得答案
98. 验证二叉搜索树
22.05.07,三星,思路也没了,二叉树还是不熟,多看多记
43. 字符串相乘
22.05.07,高精度乘除法,不会
78. 子集
22.05.07,三星, 全排列变形题,用递归解法,看Y总题解下的评论区