题单-总集

文章目录

  • 视频
    • 遍历
      • 01 144. 二叉树的前序遍历
      • 02 94. 二叉树的中序遍历
      • 03 145. 二叉树的后序遍历
      • 04 589. N 叉树的前序遍历
      • 05 590. N 叉树的后序遍历
      • 06 104. 二叉树的最大深度
      • 07 559. N 叉树的最大深度
      • 08 111. 二叉树的最小深度
      • 09 112. 路径总和
      • 10 113. 路径总和 II
      • 11 226. 翻转二叉树
      • 12 404. 左叶子之和(1/2)
    • 推导
      • 01 104. 二叉树的最大深度
      • 02 111. 二叉树的最小深度
      • 03 112. 路径总和
      • 04 100. 相同的树
      • 05 144. 二叉树的前序遍历
      • 06 114. 二叉树展开为链表
      • 07 572. 另一棵树的子树
      • 08 1367. 二叉树中的链表
    • 层序遍历
    • 构造及序列化
      • 01 1325. 删除给定值的叶子节点(1/2)
      • 02 617. 合并二叉树(1/2)
      • 03 105. 从前序与中序遍历序列构造二叉树(2)
      • 04 297. 二叉树的序列化与反序列化*
    • 二叉搜索树
      • 视频2
        • 01 700. 二叉搜索树中的搜索(2)
        • 02 701. 二叉搜索树中的插入操作(2)
        • 03 450. 删除二叉搜索树中的节点(2)
      • 视频3
        • 01 938. 二叉搜索树的范围和(1/2)
        • 02 98. 验证二叉搜索树(2.转化)
        • 03 669. 修剪二叉搜索树(2)
        • 04 1008. 前序遍历构造二叉搜索树(2)
        • 05 173. 二叉搜索树迭代器*(栈模拟遍历)
  • 页面
    • 纲领
      • ~~144~~ . 二叉树的前序遍历(1/2)
      • 01 543. 二叉树的直径▲▲(3/1)
      • ~~104~~ . 二叉树的最大深度(1/2)
    • 思维
      • ~~114~~ . 二叉树展开为链表(1/2)
      • 01 116. 填充每个节点的下一个右侧节点指针▲(3/1/2)
      • ~~226~~ . 翻转二叉树(1/2)
    • 构造
      • ~~105~~ . 从前序与中序遍历序列构造二叉树
      • 01 654. 最大二叉树(2)
      • 02 106. 从中序与后序遍历序列构造二叉树*(2)
      • 03 889. 根据前序和后序遍历构造二叉树(2)
    • 后序
      • 01 652. 寻找重复的子树▲(3/1)
        • 能明显感觉到和子树不相关
    • 序列化
      • ~~297~~ . 二叉树的序列化与反序列化
    • 5道最近公共祖先
      • 01 1676. 二叉树的最近公共祖先 IV
      • 02 236. 二叉树的最近公共祖先▲▲3
      • 03 235. 二叉搜索树的最近公共祖先▲▲3
      • 04 1650. 二叉树的最近公共祖先 III
      • 05 1644. 二叉树的最近公共祖先 II
    • 二叉搜索树
      • 页面1
        • 01 230. 二叉搜索树中第K小的元素▲▲3
        • 02 1038. 从二叉搜索树到更大和树▲3
        • 03 ~~538~~. 把二叉搜索树转换为累加树
      • 页面2
        • ~~450~~ . 删除二叉搜索树中的节点
        • ~~700~~ . 二叉搜索树中的搜索
        • ~~701~~ . 二叉搜索树中的插入操作
        • ~~98~~ . 验证二叉搜索树
      • 页面3
        • 01 96. 不同的二叉搜索树▲▲3
        • 02 95. 不同的二叉搜索树 II▲3
  • 强化训练
    • 遍历
      • 强化1
        • 01 257. 二叉树的所有路径
        • 02 129. 求根节点到叶节点数字之和
        • 03 199. 二叉树的右视图
        • 04 298. 二叉树最长连续序列
        • 05 988. 从叶结点开始的最小字符串
        • 06 1022. 从根到叶的二进制数之和
        • 07 1457. 二叉树中的伪回文路径
      • 强化2
        • 01 270. 最接近的二叉搜索树值
        • ~~404~~ . 左叶子之和
        • ~~617~~. 合并二叉树(1/2)
        • 03 623. 在二叉树中增加一行
        • 04 971. 翻转二叉树以匹配先序遍历
        • 05 987. 二叉树的垂序遍历
        • 06 993. 二叉树的堂兄弟节点
        • 07 1315. 祖父节点值为偶数的节点和
        • 08 1448. 统计二叉树中好节点的数目
        • 09 1469. 寻找所有的独生节点
        • 10 1602. 找到二叉树中最近的右侧节点
      • 强化3
        • 01 437. 路径总和 III
        • 02 513. 找树左下角的值
        • 03 666. 路径总和 IV
        • 04 1261. 在受污染的二叉树中查找元素
        • 05 572. 另一棵树的子树(1/2)
        • 06 1367. 二叉树中的列表(1/2)
    • 推导
      • 强化1
        • ~~105~~ . 从前序与中序遍历序列构造二叉树
        • ~~106~~ . 从中序与后序遍历序列构造二叉树*
        • ~~889~~ . 根据前序和后序遍历构造二叉树
        • 01 331. 验证二叉树的前序序列化*
        • 02 426. 将二叉搜索树转化为排序的双向链表
        • 03 894. 所有可能的满二叉树
        • 04 998. 最大二叉树 II
        • 05 1110. 删点成林*
        • 06 1485. 克隆含随机指针的二叉树
        • 07 1490. 克隆 N 叉树
        • 08 1660. 纠正二叉树
      • 强化2
        • ~~100~~ . 相同的树
        • 01 101. 对称二叉树
        • 02 951. 翻转等价二叉树
        • 03 124. 二叉树中的最大路径和(3/1)*
    • 同时两种
      • ~~112~~ . 路径总和
      • 01 113. 路径总和 II
      • 02 897. 递增顺序搜索树
      • 03 938. 二叉搜索树的范围和
      • 04 1379. 找出克隆二叉树中的相同节点
      • 05 1430. 判断给定的序列是否是二叉树从根到叶的路径
    • 后序
      • 强化1
        • 01 110. 平衡二叉树▲(3/1)
        • 02 508. 出现次数最多的子树元素和▲(3/1)
        • 03 563. 二叉树的坡度▲(3/1)
        • ~~1325~~. 删除给定值的叶子节点
        • 549. 二叉树中最长的连续序列
        • 250. 统计同值子树
        • 333. 最大 BST 子树
        • 366. 寻找二叉树的叶子节点
      • 强化2*
        • 01 1026. 节点与其祖先之间的最大差值▲▲(3/1)
        • 02 1339. 分裂二叉树的最大乘积▲▲(3/1)
        • 03 687. 最长同值路径*▲▲3
          • 同543
        • 04 1372. 二叉树中的最长交错路径*▲▲3
          • 同687
        • 05 865. 具有所有最深节点的最小子树*▲▲▲3
        • 1245. 树的直径
        • 663. 均匀树划分
        • 1120. 子树的最大平均值
      • 强化3
        • 01 968. 监控二叉树*▲▲▲▲3
        • 02 979. 在二叉树中分配硬币▲▲▲▲3
        • 03 1080. 根到叶路径上的不足节点▲3
        • 04 2049. 统计最高分的节点数目▲3
    • 层序
    • 二叉搜索树
      • 强化1
        • 01 814. 二叉树剪枝▲2
        • 02 99. 恢复二叉搜索树▲▲3
        • 03 671. 二叉树中第二小的节点▲▲3
        • ~~669~~. 修剪二叉搜索树
        • ~~1008~~. 前序遍历构造二叉搜索树
        • 285. 二叉搜索树中的中序后继
        • 510. 二叉搜索树中的中序后继 II
        • 1214. 查找两棵二叉搜索树之和
        • 776. 拆分二叉搜索树
      • 强化2
        • 01 108. 将有序数组转换为二叉搜索树▲2
        • 02 109. 有序链表转换二叉搜索树▲2
        • 03 1305. 两棵二叉搜索树中的所有元素▲2
        • 04 449. 序列化和反序列化二叉搜索树*
        • ~~173~~. 二叉搜索树迭代器

视频

遍历

01 144. 二叉树的前序遍历

02 94. 二叉树的中序遍历

03 145. 二叉树的后序遍历

04 589. N 叉树的前序遍历

05 590. N 叉树的后序遍历

06 104. 二叉树的最大深度

07 559. N 叉树的最大深度

08 111. 二叉树的最小深度

09 112. 路径总和

10 113. 路径总和 II

11 226. 翻转二叉树

12 404. 左叶子之和(1/2)

推导

01 104. 二叉树的最大深度

02 111. 二叉树的最小深度

03 112. 路径总和

04 100. 相同的树

05 144. 二叉树的前序遍历

06 114. 二叉树展开为链表

07 572. 另一棵树的子树

08 1367. 二叉树中的链表

层序遍历

构造及序列化

01 1325. 删除给定值的叶子节点(1/2)

02 617. 合并二叉树(1/2)

03 105. 从前序与中序遍历序列构造二叉树(2)

04 297. 二叉树的序列化与反序列化*

二叉搜索树

视频2

01 700. 二叉搜索树中的搜索(2)
02 701. 二叉搜索树中的插入操作(2)
03 450. 删除二叉搜索树中的节点(2)

视频3

01 938. 二叉搜索树的范围和(1/2)
02 98. 验证二叉搜索树(2.转化)
03 669. 修剪二叉搜索树(2)
04 1008. 前序遍历构造二叉搜索树(2)
05 173. 二叉搜索树迭代器*(栈模拟遍历)

页面

纲领

144 . 二叉树的前序遍历(1/2)

01 543. 二叉树的直径▲▲(3/1)

104 . 二叉树的最大深度(1/2)

思维

114 . 二叉树展开为链表(1/2)

01 116. 填充每个节点的下一个右侧节点指针▲(3/1/2)

226 . 翻转二叉树(1/2)

构造

105 . 从前序与中序遍历序列构造二叉树

01 654. 最大二叉树(2)

02 106. 从中序与后序遍历序列构造二叉树*(2)

03 889. 根据前序和后序遍历构造二叉树(2)

后序

01 652. 寻找重复的子树▲(3/1)

能明显感觉到和子树不相关

序列化

297 . 二叉树的序列化与反序列化

5道最近公共祖先

01 1676. 二叉树的最近公共祖先 IV

02 236. 二叉树的最近公共祖先▲▲3

03 235. 二叉搜索树的最近公共祖先▲▲3

04 1650. 二叉树的最近公共祖先 III

05 1644. 二叉树的最近公共祖先 II

二叉搜索树

页面1

01 230. 二叉搜索树中第K小的元素▲▲3
02 1038. 从二叉搜索树到更大和树▲3
03 538. 把二叉搜索树转换为累加树

页面2

450 . 删除二叉搜索树中的节点
700 . 二叉搜索树中的搜索
701 . 二叉搜索树中的插入操作
98 . 验证二叉搜索树

页面3

01 96. 不同的二叉搜索树▲▲3
02 95. 不同的二叉搜索树 II▲3

强化训练

遍历

强化1

01 257. 二叉树的所有路径
02 129. 求根节点到叶节点数字之和
03 199. 二叉树的右视图
04 298. 二叉树最长连续序列
05 988. 从叶结点开始的最小字符串
06 1022. 从根到叶的二进制数之和
07 1457. 二叉树中的伪回文路径

强化2

01 270. 最接近的二叉搜索树值
404 . 左叶子之和
617. 合并二叉树(1/2)
03 623. 在二叉树中增加一行
04 971. 翻转二叉树以匹配先序遍历
05 987. 二叉树的垂序遍历
06 993. 二叉树的堂兄弟节点
07 1315. 祖父节点值为偶数的节点和
08 1448. 统计二叉树中好节点的数目
09 1469. 寻找所有的独生节点
10 1602. 找到二叉树中最近的右侧节点

强化3

01 437. 路径总和 III
02 513. 找树左下角的值
03 666. 路径总和 IV
04 1261. 在受污染的二叉树中查找元素
05 572. 另一棵树的子树(1/2)
06 1367. 二叉树中的列表(1/2)

推导

强化1

105 . 从前序与中序遍历序列构造二叉树
106 . 从中序与后序遍历序列构造二叉树*
889 . 根据前序和后序遍历构造二叉树
01 331. 验证二叉树的前序序列化*
02 426. 将二叉搜索树转化为排序的双向链表
03 894. 所有可能的满二叉树
04 998. 最大二叉树 II
05 1110. 删点成林*
06 1485. 克隆含随机指针的二叉树
07 1490. 克隆 N 叉树
08 1660. 纠正二叉树

强化2

100 . 相同的树
01 101. 对称二叉树
02 951. 翻转等价二叉树
03 124. 二叉树中的最大路径和(3/1)*

同时两种

112 . 路径总和

01 113. 路径总和 II

02 897. 递增顺序搜索树

03 938. 二叉搜索树的范围和

04 1379. 找出克隆二叉树中的相同节点

05 1430. 判断给定的序列是否是二叉树从根到叶的路径

后序

强化1

01 110. 平衡二叉树▲(3/1)
02 508. 出现次数最多的子树元素和▲(3/1)
03 563. 二叉树的坡度▲(3/1)
1325. 删除给定值的叶子节点
549. 二叉树中最长的连续序列
250. 统计同值子树
333. 最大 BST 子树
366. 寻找二叉树的叶子节点

强化2*

01 1026. 节点与其祖先之间的最大差值▲▲(3/1)
02 1339. 分裂二叉树的最大乘积▲▲(3/1)
03 687. 最长同值路径*▲▲3
同543
04 1372. 二叉树中的最长交错路径*▲▲3
同687
05 865. 具有所有最深节点的最小子树*▲▲▲3
1245. 树的直径
663. 均匀树划分
1120. 子树的最大平均值

强化3

01 968. 监控二叉树*▲▲▲▲3

根节点与其他节点不同,这牵涉到遍历和推导

02 979. 在二叉树中分配硬币▲▲▲▲3
03 1080. 根到叶路径上的不足节点▲3
04 2049. 统计最高分的节点数目▲3

层序

二叉搜索树

强化1

01 814. 二叉树剪枝▲2
02 99. 恢复二叉搜索树▲▲3
03 671. 二叉树中第二小的节点▲▲3
669. 修剪二叉搜索树
1008. 前序遍历构造二叉搜索树
285. 二叉搜索树中的中序后继
510. 二叉搜索树中的中序后继 II
1214. 查找两棵二叉搜索树之和
776. 拆分二叉搜索树

强化2

01 108. 将有序数组转换为二叉搜索树▲2
02 109. 有序链表转换二叉搜索树▲2
03 1305. 两棵二叉搜索树中的所有元素▲2
04 449. 序列化和反序列化二叉搜索树*
173. 二叉搜索树迭代器

你可能感兴趣的:(二叉树,算法,c++)