题目列表


分析与总结

先不谈二叉树的三种递归遍历以及非递归遍历,以及必须掌握的层序遍历

  • boolean类型

100.相同的树101.对称二叉树112.路径总和 中,要求返回的是boolean类型,于是在设计递归程序的时候直接就返回了相关的逻辑值,100101发现false直接返回,所以使用的是&&,而112是发现true直接返回,所以使用||

  • int

104.二叉树的最大深度110.平衡二叉树111.二叉树的最小深度404.左叶子之和中,本质上要求返回的都是int值,于是设计递归的程序的时候直接返回的递归结果的值

  • 其他类型

Leetcode的前,中,后序遍历都要求结果保存在一个List中,这返回起来有点复杂,所以我们直接把List写成是全局变量,然后再创建一个void函数遍历二叉树,而主函数只需要调用void函数即可,这样写清晰快捷

  • 区间思路

98.验证二叉搜索树108.将有序数组转换为二叉搜索树654.最大二叉树 中都涉及到了单独创建一个函数,以不断地确定二叉树的leftright,即上下边界的思路

特别注意到,在求二叉树的最大or最小深度时,都是从下往上的遍历思路,遍历到null时设置为0