二叉树-遍历-重写

文章目录

  • 遍历
    • 寻找任意一个节点与f(T)的关系
    • 遍历的功能界
    • 需要判断哪些是1!=2
  • 视频
    • 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. 左叶子之和
    • 构造及序列化
    • 01 1325. 删除给定值的叶子节点(1/2)
    • 02 617. 合并二叉树(1/2)*
    • 二叉搜索树
    • 01 938. 二叉搜索树的范围和(1/2)
  • 页面
    • 纲领
    • 01 543. 二叉树的直径(3/1)*
    • 思维
    • 01 116. 填充每个节点的下一个右侧节点指针▲(3/1/2)
    • 后序
    • 01 652. 寻找重复的子树(3/1)*
  • 强化训练-遍历
    • 遍历1
    • 01 257. 二叉树的所有路径
    • 02 129. 求根节点到叶节点数字之和
    • 03 199. 二叉树的右视图
    • 04 298. 二叉树最长连续序列
    • 05 988. 从叶结点开始的最小字符串*
    • 06 1022. 从根到叶的二进制数之和*
    • 07 1457. 二叉树中的伪回文路径
    • 遍历2
    • 01 270. 最接近的二叉搜索树值
    • ~~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)
  • 强化训练-推导
    • 03 124. 二叉树中的最大路径和(3/1)*
  • 强化训练-后序
    • 01 110. 平衡二叉树(3/1)
    • 02 508. 出现次数最多的子树元素和(3/1)
    • 03 563. 二叉树的坡度(3/1)
    • 01 1026. 节点与其祖先之间的最大差值(3/1)
    • 02 1339. 分裂二叉树的最大乘积(3/1)

遍历

寻找任意一个节点与f(T)的关系

遍历的功能界

需要判断哪些是1!=2

视频

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. 左叶子之和

构造及序列化

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

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

当节点不仅操作自己,还需要操作子节点时,遍历往往变得麻烦。

二叉搜索树

01 938. 二叉搜索树的范围和(1/2)

页面

纲领

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

对于一棵树来讲,无法记录任意两个节点间的路径。
但可以记录最长的两个节点路径。

思维

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

后序

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

序列化的使用

强化训练-遍历

遍历1

01 257. 二叉树的所有路径

02 129. 求根节点到叶节点数字之和

03 199. 二叉树的右视图

04 298. 二叉树最长连续序列

05 988. 从叶结点开始的最小字符串*

无法逆着记录路径。
reverse可以原地逆转。
string可以+=char
compare就是按照字典序进行比较

06 1022. 从根到叶的二进制数之和*

遍历时计算值

07 1457. 二叉树中的伪回文路径

回文的判断方式

遍历2

01 270. 最接近的二叉搜索树值

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

03 623. 在二叉树中增加一行

04 971. 翻转二叉树以匹配先序遍历*

从子节点操纵父节点是难的

05 987. 二叉树的垂序遍历*

无法找到与res的关系

06 993. 二叉树的堂兄弟节点

07 1315. 祖父节点值为偶数的节点和

08 1448. 统计二叉树中好节点的数目

09 1469. 寻找所有的独生节点

10 1602. 找到二叉树中最近的右侧节点

遍历3

01 437. 路径总和 III*

无法逆着记录路径,所以只能使用前缀和

02 513. 找树左下角的值

03 666. 路径总和 IV

04 1261. 在受污染的二叉树中查找元素

set 通过count检索,insert插入

05 572. 另一棵树的子树(1/2)

06 1367. 二叉树中的列表(1/2)

强化训练-推导

03 124. 二叉树中的最大路径和(3/1)*

强化训练-后序

01 110. 平衡二叉树(3/1)

02 508. 出现次数最多的子树元素和(3/1)

03 563. 二叉树的坡度(3/1)

01 1026. 节点与其祖先之间的最大差值(3/1)

02 1339. 分裂二叉树的最大乘积(3/1)

你可能感兴趣的:(二叉树,数据结构,算法)