题目
| 321. 拼接最大数 | 单调栈
| 322. 零钱兑换|动态规划 ||高频
| 323. 无向图中连通分量的数目 | 图的DFS、并查集
| 324. 摆动排序 II | 待完成 ||高频大厂刷题班, 第34节, 本节
| 325. 和等于k的最长子数组长度
|326. 3的幂|递归、循环||高频
| 327. 区间和的个数 | 归并
|328. 奇偶链表|||高频
| 329. 矩阵中的最长递增路径|||高频
| 330. 按要求补齐数组
| 331. 验证二叉树的前序序列化
| 332. 重新安排行程 | 待完成 |
| 333. 最大 BST 子树的节点数
| 334. 递增的三元子序列|||高频
| 335. 路径交叉
| 336. 回文对|
| 337. 打家劫舍 III
| 338. 比特位计数 |
| 339 嵌套列表权重和
| 340.至多包含K个不同字符的最长子串|滑动窗口||高频
| 341. 压平嵌套链表迭代器|||高频
|342. 4的幂|递归、循环、查找、位运算|
| 343. 整数拆分个若干个数使它们的乘积最大 | 滑动窗口
| 344. 反转字符串 | 水题
| 345. 反转字符串中的元音字母 |双指针
| 346. 数据流中的移动平均值
| 347. 前 K 个高频元素|||高频 大厂刷题班, 第35节
| 348. 设计井字棋是谁赢了|||高频
| 349. 两个数组的交集
| 350. 两个数组的交集(按照顺序返回)|map、双指针||高频
| 351. 安卓系统手势解锁
| 352. 将数据流变为多个不相交区间
| 353. 贪吃蛇-vip
| 354. 俄罗斯套娃信封问题
| 355. 设计推特
| 356. 直线对称
| 357. 统计各位数字都不同的数字个数 | 动态规划、数学推导
| 358. K 距离间隔重排字符串 | 堆 + 贪心
| 359. 日志速率限制器
|360. 有序转化数组
| 361.炸弹最多能炸死多少人 | 动态规划
| 362.敲击计数器
| 363. 矩形区域不超过 K 的最大数值和
| 364. 嵌套链表权重和之二
| 365. 水壶问题
| 366. 寻找二叉树的叶子节点
| 367. N是不是有效的完全平方数 Valid Perfect Square
| 368. 最大整除子集
| 369. 逆序链表加一
| 370. 区间加法 | 差分数组
| 371. 两整数之和 |||高频
| 372. 超级次方
| 373. 查找和最小的 K 对数字 | 归并
| 374. 猜数字大小
| 375. 猜数字大小 II
| 376. 摆动序列的最长子序列的长度 | 动态规划
| 377.找出所有和等于target的组合个数
| 378. 有序矩阵中第 K 小的元素 |二分、归并||高频
| 379. 电话目录管理系统
| 380. O(1) 时间插入、删除和获取随机元素|||高频 大厂刷题班, 第34节
| 381. O(1) 时间插入、删除和获取随机元素 - 允许重复
| 382. 链表随机节点 | 蓄水池抽样算法
| 383. 赎金信 | EASY
| 384. 打乱数组|||高频 大厂刷题班, 第34节
| 385. 迷你语法分析器
| 386. 字典序排数
| 387. 字符串中的第一个唯一字符
| 388. 文件的最长绝对路径
|389. 找不同|位运算、map、桶计数、数学|268. 缺失数字||
| 390. 消除游戏
| 391. 完美矩形
| 392. 判断s是不是t的子序列 |
| 393. UTF-8 编码验证
| 394. 字符串解码 | 基本计算器
| 395. 至少有 K 个重复字符的最长子串 |||高频 大厂刷题班, 第35节
| 396. 旋转函数
| 397. 整数替换
| 398. 随机数索引
| 399. 除法求值
| 400. 第 N 位数字
| 401. 二进制手表
| 402. 移掉 K 位数字
| 403. 青蛙过河
|404. 左叶子之和|
| 405. 数字转换为十六进制数
| 406. 根据身高重建队列
| 407. 接雨水 II
| 408. 有效单词缩写
| leetcode:409. 给定词频表能够构建出的最长回文串的长度
|410. 分割数组的最大值
| 411. 最短独占单词缩写
| 412. Fizz Buzz | EASY
| 413. 等差数列子数组个数
| 414. 第三大的数
| 415. 字符串相加
| 416. 分割等和子集
| 417. 太平洋大西洋水流问题
|418. 屏幕可显示句子的数量
| 420. 强密码检验器
| 421. 数组中两个数的最大异或值
| 422. 有效的单词方块
| 423. 从英文中重建数字
| 424. 替换后的最长重复字符
| 425. 单词方块
| 426.将二叉搜索树转化为排序的双向链表
| 427. 建立四叉树
| 428. 序列化和反序列化 N 叉树
|429. N叉树的层序遍历|
| 430. 扁平化多级双向链表
|431. 将 N 叉树编码为二叉树
| 432. 全 O(1) 的数据结构
| 433. 最小基因变化
| 434. 字符串中的单词数 | easy
| 435. 无重叠区间
| 436. 寻找右区间
| 440. 字典序的第K小数字
| 441. 排列硬币
| 442. 数组中重复的数据
| 443. 压缩字符串
| 444. 序列重建
|445. 两数相加 II||
|461. 汉明距离|位运算| 面试题15. 二进制中1的个数|
|476. 数字的补数| 位操作|
| 494.数组中添加加减运算符得到指定值的所有方法 | 腾讯面试原题,一定要搞清楚怎么优化的
|501. 二叉搜索树中的众数|
|508. 出现次数最多的子树元素和|
|509. 斐波那契数|循环、递归|| 递归树入门|
|513. 找树左下角的值|
|515. 在每个树行中找最大值|
|530. 二叉搜索树的最小绝对差|
|538. 把二叉搜索树转换为累加树|
|543. 二叉树的直径|
|559. N叉树的最大深度|
|563. 二叉树的坡度|
|572. 另一个树的子树|
|589. N叉树的前序遍历|
|590. N叉树的后序遍历|
|606. 根据二叉树创建字符串|
|617. 合并二叉树|递归、队列|
|637. 二叉树的层平均值|
|653. 两数之和 IV - 输入 BST|
|654. 最大二叉树|
|669. 修剪二叉搜索树|
|671. 二叉树中第二小的节点|
|693. 交替位二进制数 | 字符串,位运算模拟、位运算 |
|700. 二叉搜索树中的搜索| 递归、迭代
|701. 二叉搜索树中的插入操作|
|709. 转换成小写字母|||签到题
|783. 二叉搜索树节点最小距离|||
|762. 二进制表示中质数个计算置位|顺序逻辑| 这题不要想复杂了,easy|
|771. 宝石与石头|哈希,正则
|814. 二叉树剪枝| |1325. 删除给定值的叶子节点
|817. 链表组件|
|844. 比较含退格的字符串| 栈、循环||使用栈的时候很容易出错
|872. 叶子相似的树|
|876. 链表的中间结点|双指针
|889. 根据前序和后序遍历构造二叉树|
|897. 递增顺序查找树|
|933. 最近的请求次数|队列(滑动窗口)|3. 无重复字符的最长子串|
|938. 二叉搜索树的范围和|栈、递归||
|951. 翻转等价二叉树|
|965. 单值二叉树|
|979. 在二叉树中分配硬币|
|1008. 前序遍历构造二叉搜索树
|1019. 链表中的下一个更大节点|单调栈|
|1022. 从根到叶的二进制数之和|
|1026. 节点与其祖先之间的最大差值|
|1104. 二叉树寻路|
|1108. IP 地址无效化|||容易混肴的api
|1161. 最大层内元素和|
|1261. 在受污染的二叉树中查找元素|
|1281. 整数的各位积和之差|模拟,递归
1287. 有序数组中出现次数超过25%的元素|遍历、数组本身特性| [169. 多数元素]、、[面试题 17.10. 主要元素]
|1295. 统计位数为偶数的数字|模拟,数学
|1302. 层数最深叶子节点的和|
|1305. 两棵二叉搜索树中的所有元素|88. 合并两个有序数组
|1313. 解压缩编码列表| 模拟
|1315. 祖父节点值为偶数的节点和|
|1123. 最深叶节点的最近公共祖先|
|1325. 删除给定值的叶子节点|递归|
|1342. 将数字变成 0 的操作次数|
|1365. 有多少小于当前数字的数字|暴力,map,hash桶| 这题有意思
|1379. 找出克隆二叉树中的相同节点|
1394. 找出数组中的幸运数|hash计数、桶计数、排序计数| [面试题 17.10. 主要元素] |先统计每个数的次数,然后在找到目标|
|1450. 在既定时间做作业的学生人数|水题|
| 1431. 拥有最多糖果的孩子| 脑子需要转一点点弯
|1448. 统计二叉树中好节点的数目|
|判断一个数是偶数还是奇数|java中浮点数比较就是个坑|
|为什么位运算可以实现加法||
|面试题 01.03. URL化|||一道坑人的题目
|面试题 02.01. 移除重复节点|set以及冒泡删除| |冒泡删除可以以看,set就是常规无聊的解法
|面试题 02.02. 链表中倒数第k个节点|双指针、递归|
|面试题 02.03. 删除中间节点| ||
|面试题 02.04. 分割链表|
|面试题 02.05. 链表求和|2. 两数相加
|面试题 02.06 回文链表 |使用栈、反转半个链表、反转全部链表| 反转半个链表很容易出错
|面试题 02.07. 链表相交| 栈、链表、双指针、遍历
|面试题 04.02. 最小高度树| 递归
|面试题 04.03. 特定深度节点链表| 递归
|面试题 04.08. 首个共同祖先|
|面试题 04.10. 检查子树| 递归| 572. 另一个树的子树
|面试题 05.07. 配对交换|位运算| 先找出奇数位,再找出偶数位,然后交换|
|面试题 10.01. 合并排序的数组|双指针||易错|
|面试题15. 二进制中1的个数|二进制模拟,位运算|
|面试题 16.01. 交换数字|异或、数学|
|面试题 16.07. 最大数值| 位操作|相减,取出符号位—>数学运算|
|面试题 17.12. BiNode|
|面试题 17.04. 消失的数字 | |
面试题 17.10. 主要元素|map、摩根投票法| [169. 多数元素]、、[1287. 有序数组中出现次数超过25%的元素]
|LCP 01. 猜数字|
|剑指 Offer 18. 删除链表的节点|
|面试题22. 链表中倒数第k个节点|双指针、递归|
|面试题24 反转链表| 头插法、双指针、递归|
|面试题27. 二叉树 ||226. 翻转二叉树的镜像
|剑指 Offer 32 - I. 从上到下打印二叉树|
|面试题32 - II. 从上到下打印二叉树 II|队列,递归
|面试题54. 二叉搜索树的第k大节点| 易错题
|面试题55 - I. 二叉树的深度|
|剑指 Offer 07. 重建二叉树|
|剑指 Offer 55 - II. 平衡二叉树|
|面试题68 - I. 二叉搜索树的最近公共祖先|
|面试题68 - II. 二叉树的最近公共祖先|
|递归之求阶乘|递归| | 递归树入门