主要通过代码随想录来进行学习。
1.二叉树的递归方法
2.二叉树的迭代方法(采用懒猫老师),方法二,(随想录写法)深搜写法
前序两种写法,中序写法一直,后序直接用前序写法reverse
3.二叉树的层序遍历(采用队列)(这里有很多题型,大致归纳一下)这里加入队列的基本使用
4.翻转二叉树 有深搜(前序)的迭代和递归,有广搜的(层序)
---------------------------------------
5.对称二叉树 递归 迭代
6.最大深度(层序)(递归(返回左右子树深度max+1))
7.最小深度(层序)(递归,这里需要处理空子树)
8.完全二叉树节点个数 (层序)(递归,返回1+左节点数+右节点数)
9.平衡二叉树 递归(这里面采用-1来标记非平衡树)
10.二叉树所有路径 递归,迭代
-----------------------------------------------------------------------
11.左叶子之和 层序
12.找最左下角值 层序
13.路径总和 路径总和1,路径总和2
14.从中序和后序构造二叉树 这里有个vector裁剪初始化(左闭右开)
15.最大二叉树 递归 和14题构造二叉树一样的思路
--------------------------------------------------------------
16.合并二叉树 迭代 递归
17.二叉树搜索 迭代
18.验证搜索树 ,中序遍历模板(等回头看看)二叉搜索树 用中序就变成了单调数组
19.二叉搜索树最小绝对差 中序遍历时计算相邻差
20.二叉搜索树中的众数 中序遍历 一次遍历(遇到好的,清空,遇到相等储存)
21.二叉树的最近公共祖先(----------未解决---------)
----------------------------------------------------
22.搜索树插入 迭代
23.删除搜索树节点 迭代(需要再写几遍)
24.修剪 (想法理解,递归有点难,需要再写几遍)
25.将有序数组转换成二叉搜索树 递归,和之前的从中序后序构建树一样
26.转换成累加树 (反的中序遍历)递归
----------------------------------