226.翻转二叉树
文档讲解:翻转二叉树
思路:
通过遍历对每个节点的左右孩子进行交换。
遇到的问题:
中序遍历会产生重复的交换。
101. 对称二叉树
文档讲解:对称二叉树
思路:
对左边进行左右中遍历,对右边进行右中左遍历,left.left和right.right作为外层,left.right和right.left作为内层,内外层同时为true,即对称。
遇到的问题:
注意条件判断。
104.二叉树的最大深度
文档讲解:最大深度
思路:
后序递归求高度法,每次递归返回max(leftDepth,rightDepth) + 1,+1为经过本结点的意思。
遇到的问题:
- 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)
- 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数后者节点数(取决于高度从0开始还是从1开始)
111.二叉树的最小深度
文档讲解:最小深度
思路:
后序递归求高度法,如果左子树为空,右子树不为空,说明最小深度是 1 + 右子树的深度。
反之,右子树为空,左子树不为空,最小深度是 1 + 左子树的深度。 最后如果左右子树都不为空,返回左右子树深度最小值 + 1 。
遇到的问题:
最小深度是从根节点到最近叶子节点的最短路径上的节点数量,所以说如果根节点左子树或者右子树为空的话,最小深度不能算1。
总结
好多啊二叉树