以下记录的是各个题较好的视频讲解地址及视频中的代码。
持续更新中。
每一道题都必须要分析时间和空间复杂度。
有时还需要写test case
LeetCode 1. 两数之和
https://leetcode-cn.com/problems/two-sum/solution/dong-hua-tu-jie-suan-fa-liang-shu-zhi-he-fu-shi-pi/
方法一:Hash Map
LeetCode 2. 两数相加
https://leetcode-cn.com/problems/add-two-numbers/solution/javashi-pin-jiang-jie-xi-lie-add-two-numbers-by-se/
直接位和位相加,注意进位addOne
LeetCode 3. 无重复字符的最长子串
https://www.youtube.com/watch?v=9VcYiqTqzUY
双指针,注意指针的移动细节
LeetCode 7. 整数反转
https://www.youtube.com/watch?v=zGc152m0wPw
Java
需单独分析溢出和负数的情况
LeetCode 8. 字符串转换整数 (atoi)
https://www.youtube.com/watch?v=4eV6f9mmBQE
Java
LeetCode 9. 回文数
https://www.bilibili.com/video/av66123241/
C++
负数一定不是回文数
LeetCode 13. 罗马数字转整数
https://www.youtube.com/watch?v=07W3b5SxeQ8
将题目中给出的特殊规则的六种情况单独做if判断,符合这六种情况的就减去对应的值,其余的情况就依次加上各个字母对应的数字。
LeetCode 20. 有效的括号
https://www.youtube.com/watch?v=2NFQd-jyX48
Java版本
栈,将对应的右括号放到栈中,遇到了对应的右括号就pop。有三种情况是return false的。
https://www.youtube.com/watch?v=mq8qDefE1TM
Python版本
栈
https://www.bilibili.com/video/av29186709/
Java
Hash Map
LeetCode 26. 删除排序数组中的重复项
https://www.youtube.com/watch?v=WVfNtGL7ROM
Java
双指针
LeetCode 70. 爬楼梯
LeetCode 92. 反转链表 II
https://www.bilibili.com/video/BV1at41117sw
例1 30min开始 迭代法
https://www.youtube.com/watch?v=esl_A_pzBcg
LeetCode 121. 买卖股票的最佳时机
https://www.bilibili.com/video/av74604888/
JavaScript
记录到目前为止的最小值和最大利润
LeetCode 141. 环形链表
https://www.youtube.com/watch?v=bxCb37nLXWM
LeetCode 146. LRU缓存机制
https://www.youtube.com/watch?v=XzpuuGevwRc
https://www.youtube.com/watch?v=q1Njd3NWvlY
LeetCode 206. 反转链表
https://www.bilibili.com/video/BV1at41117sw
例1 22min处 迭代法
https://www.bilibili.com/video/BV1U7411A75v
递归法和迭代法
https://www.youtube.com/watch?v=esl_A_pzBcg
迭代法
LeetCode 207. 课程表
https://www.youtube.com/watch?v=zkTOIVUdW-I
LeetCode 208. 实现Trie(前缀树)
https://www.bilibili.com/video/av38557911/
该视频中有C++, Java, Python三种语言的版本
C++和Java是静态语言,Python是动态语言
LeetCode 218. 数组中第K个最大元素
https://www.youtube.com/watch?v=zyskis1Gw0c
介绍了最小堆和快排
https://www.bilibili.com/video/av57068058/
LeetCode 221. 最大正方形
https://www.bilibili.com/video/av49062862/
LeetCode 225. 用队列实现栈
https://www.bilibili.com/video/BV1at41117sw?p=2
例1 13min处
LeetCode 226. 翻转二叉树
https://www.youtube.com/watch?v=oiX3mqcAK0s
LeetCode 234. 回文链表
https://www.youtube.com/watch?v=teJIpKD1MuQ
LeetCode 236. 二叉树的最近公共祖先
https://www.youtube.com/watch?v=boTZv0hqNac
https://www.bilibili.com/video/av93298886/
LeetCode 238. 除自身以外数组的乘积
https://www.bilibili.com/video/av82946524?from=search&seid=2720542669988055252
LeetCode 239. 滑动窗口最大值
https://www.youtube.com/watch?v=2SXqBsTR6a8
https://www.bilibili.com/video/av88006091/
LeetCode 240. 搜索二维矩阵 II
https://www.youtube.com/watch?v=g4Qy83toSzc
LeetCode 253. 会议室 II
https://www.youtube.com/watch?v=anK-VjOIPhw
讲了两种方法
https://www.youtube.com/watch?v=jUpuIio_oYo
LeetCode 279. 完全平方数
https://www.bilibili.com/video/av60794787/
https://www.youtube.com/watch?v=3n0_pPEWJ10
LeetCode 283. 移动零
https://www.bilibili.com/video/av89351484/
https://www.youtube.com/watch?v=rkV_no6QTFs
LeetCode 287. 寻找重复数
https://www.youtube.com/watch?v=q0v0jafL6PU
https://www.bilibili.com/video/av840069123/
https://www.bilibili.com/video/av62810942/
https://www.bilibili.com/video/av62810942/
LeetCode 297. 二叉树的序列化与反序列化
https://www.youtube.com/watch?v=OtqN9siio0g
LeetCode 300. 最长上升子序列
https://www.bilibili.com/video/BV1at41117sw?p=10
例6 大概在147min处 有两种方法
LeetCode 301. 删除无效的括号
https://www.youtube.com/watch?v=2k_rS_u6EBk
有效括号的成立条件:(1) 左括号与右括号数量相等 (2)任何位置之前的左括号多于右括号
https://www.youtube.com/watch?v=YSRUTMThBfU
LeetCode 309. 最佳买卖股票时机含冷冻期
https://www.youtube.com/watch?v=Ggzbo9eVrLU
https://www.youtube.com/watch?v=oL6mRyTn56M
LeetCode 312. 戳气球
https://www.youtube.com/watch?v=z3hu2Be92UA
LeetCode 322. 零钱兑换
https://www.bilibili.com/video/BV1at41117sw?p=10
例4 82min处
LeetCode 337. 打家劫舍 III
https://www.youtube.com/watch?v=-i2BFAU25Zk
LeetCode 338. 比特位计数
该题最推荐看题解(非视频)
https://leetcode-cn.com/problems/counting-bits/solution/hen-qing-xi-de-si-lu-by-duadua/
https://www.bilibili.com/video/av76764610/
https://www.bilibili.com/video/av37684578/
LeetCode 347. 前 K 个高频元素
该题很重要
https://www.youtube.com/watch?v=NAYPGalyLo4
https://www.youtube.com/watch?v=lm6pBga98-w
https://www.bilibili.com/video/av82804978/
https://www.bilibili.com/video/BV1vx411d7pf/?spm_id_from=333.788.videocard.0
LeetCode 394. 字符串解码
https://www.youtube.com/watch?v=fFAR688RLko
https://www.bilibili.com/video/av86753864/
LeetCode 399. 除法求值
https://www.youtube.com/watch?v=UwpvInpgFmo
https://www.youtube.com/watch?v=u9LE_7apB38
LeetCode 406. 根据身高重建队列
https://www.youtube.com/watch?v=JtJVMhs-6aw
LeetCode 416. 分割等和子集
https://www.youtube.com/watch?v=r6I-ikllNDM
https://www.youtube.com/watch?v=5gpIN9Yf7C4
LeetCode437. 路径总和 III
https://www.bilibili.com/video/av92489544/
https://www.youtube.com/watch?v=AqfSV2B_TMY
LeetCode 438. 找到字符串中所有字母异位词
https://www.youtube.com/watch?v=86fQQ7rVGxA
LeetCode 448. 找到所有数组中消失的数字
https://www.youtube.com/watch?v=MC4BMXlBwRQ
https://www.youtube.com/watch?v=CKJHSUbMzBo
LeetCode 461. 汉明距离
https://www.youtube.com/watch?v=RNaO23ETjhM
LeetCode 494. 目标和
https://www.youtube.com/watch?v=r6Wz4W1TbuI
LeetCode 538. 把二叉搜索树转换为累加树
https://www.youtube.com/watch?v=YoEPWtXmkD4
LeetCode 543. 二叉树的直径
https://www.youtube.com/watch?v=VuezJmuIyU4
https://www.youtube.com/watch?v=3vZV-6qPDmE
LeetCode 560. 和为K的子数组
https://www.youtube.com/watch?v=aYfwus5T3Bs
三种方法
https://www.youtube.com/watch?v=f0IY7_WpSB4
LeetCode 581. 最短无序连续子数组
https://www.youtube.com/watch?v=8wHH9txAK34
LeetCode 617. 合并二叉树
https://www.youtube.com/watch?v=EmVsf2sMNiU
LeetCode 621. 任务调度器
https://www.youtube.com/watch?v=YCD_iYxyXoo
https://www.youtube.com/watch?v=OQKpjr13VNk
LeetCode 647. 回文子串
https://www.bilibili.com/video/av78687272/
LeetCode 739. 每日温度
https://leetcode-cn.com/problems/daily-temperatures/solution/leetcode-tu-jie-739mei-ri-wen-du-by-misterbooo/
https://www.youtube.com/watch?v=uVXjp5Qwfe8
LeetCode 1116. 打印零与奇偶数
https://www.youtube.com/watch?v=VoOJdqHe8bE
LeetCode 1143. 最长公共子序列
https://www.youtube.com/watch?v=Dumq-rceuac
面试题 10.01. 合并排序的数组
https://www.bilibili.com/video/av99751496/
三个指针,将最大的元素添加到A数组的最后
面试题57 - II. 和为s的连续正数序列
约瑟夫环
https://www.bilibili.com/s/video/BV137411L7wc