刷题Day7-二叉树(2)
101. 对称二叉树
每次遇到这个题都犯懵,其实很简单。每次递归判断两个节点的左右和右左。
104. 二叉树的最大深度
找深度,基础题,深度优先搜索,别忘了搜索完之后要回调参数
111. 二叉树的最小深度
题目描述有点奇怪,不过没事,按照题意来。
依旧是深度优先搜索,本题要求必须是叶子节点才算数,根节点不算叶子节点。
222. 完全二叉树的节点个数
第一时间想到的是层序遍历,事实上也能做出来。
但是考虑到本题是完全二叉树,会有更优秀的解法。
根据左右子树的高度不同,判断左子树是否是满二叉树,如果左右子树高度相同,则左子树必然是满二叉树。如果左右子树高度不同,则右子树更矮,但是必然是满二叉树。
满二叉树就能直接计算出节点个数。
110. 平衡二叉树
关键在于怎么在避免重复统计二叉树高度的同时,判断这棵二叉树是否是一个平衡的二叉树。
257. 二叉树的所有路径
深搜,关键在于根节点的问题。根节点的判断要以左右子节点都是空为判断,记录当前路径,而不能以当前是否为空来记录当前路径,否则可能造成多次记录同一个路径的情况出现。

浙公网安备 33010602011771号