刷题Day7-二叉树(2)

101. 对称二叉树

每次遇到这个题都犯懵,其实很简单。每次递归判断两个节点的左右和右左。


104. 二叉树的最大深度

找深度,基础题,深度优先搜索,别忘了搜索完之后要回调参数


 

111. 二叉树的最小深度

题目描述有点奇怪,不过没事,按照题意来。

依旧是深度优先搜索,本题要求必须是叶子节点才算数,根节点不算叶子节点。


222. 完全二叉树的节点个数

第一时间想到的是层序遍历,事实上也能做出来。

但是考虑到本题是完全二叉树,会有更优秀的解法。

根据左右子树的高度不同,判断左子树是否是满二叉树,如果左右子树高度相同,则左子树必然是满二叉树。如果左右子树高度不同,则右子树更矮,但是必然是满二叉树。

满二叉树就能直接计算出节点个数。


110. 平衡二叉树

关键在于怎么在避免重复统计二叉树高度的同时,判断这棵二叉树是否是一个平衡的二叉树。


257. 二叉树的所有路径

深搜,关键在于根节点的问题。根节点的判断要以左右子节点都是空为判断,记录当前路径,而不能以当前是否为空来记录当前路径,否则可能造成多次记录同一个路径的情况出现。

 

posted @ 2022-06-19 17:56  _厨师沙拉  阅读(30)  评论(0)    收藏  举报