二叉树

54 阅读3分钟
题目思路
144. 二叉树的前序遍历1. 递归
2. 栈
94. 二叉树的中序遍历1. 递归
2. 栈(先迭代到左边的叶子结点)
145. 二叉树的后序遍历1. 递归
2. 栈
104. 二叉树的最大深度1. 递归
2. 利用队列层序遍历
559. N 叉树的最大深度思路类似104
617. 合并二叉树递归建树
226. 翻转二叉树递归互换左右子树
101. 对称二叉树1. 递归,判断左右子树是否符合条件
2. 迭代,判断左右子节点是否符合条件
543. 二叉树的直径左右子树的最大深度相加就是最大路径
662. 二叉树最大宽度对节点编号
102. 二叉树的层序遍历队列
637. 二叉树的层平均值队列
二叉树子树平均值最大递归
108. 将有序数组转换为二叉搜索树建树时注意终止条件
98. 验证二叉搜索树二叉搜索树需要考虑中序遍历
230. 二叉搜索树中第K小的元素中序遍历
LCR 174. 寻找二叉搜索树中的目标节点中序遍历
199. 二叉树的右视图层序遍历
114. 二叉树展开为链表先将遍历节点存数组,然后改变指针指向
106. 从中序与后序遍历序列构造二叉树确定根的位置,依次划分中序数组和后序数组
112. 路径总和递归函数是否有返回值得看是否需要处理返回值
113. 路径总和 II递归函数是否有返回值得看是否需要处理返回值
437. 路径总和 IIIdfs1确定根节点,dfs2计算路径和
LCR 153. 二叉树中和为目标值的路径和113一样
124. 二叉树中的最大路径和dfs
236. 二叉树的最近公共祖先左子树和右子树是否含有p或者q
987. 二叉树的垂序遍历dfs + 排序
513. 找树左下角的值层序遍历
450. 删除二叉搜索树中的节点删除过程其实就当前节点建树的过程,考虑三种情况的返回值
103. 二叉树的锯齿形层序遍历就是层序遍历
449. 序列化和反序列化二叉搜索树前序遍历建树,根据二叉搜索树的性质划分区间
110. 平衡二叉树求深度
100. 相同的树递归判断
572. 另一棵树的子树递归判断
114. 二叉树展开为链表节点先存储再重构
LCR 155. 将二叉搜索树转化为排序的双向链表中序遍历直接修改指针
958. 二叉树的完全性检验队列 + 错误情况判断