给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
复制代码
返回它的最小深度 2.
题解:
-
这道题让我们求最小深度,典型的DFS问题
-
同样的找3个关键点
- 终止条件:遍历到空,返回0
- 调用单元做了什么:如果当前节点有一个子节点为空,那么对存在的那个节点调用递归函数,并+1,如果子节点都在,那么取小的+1返回
- 返回值:当前节点的最小深度
//到达叶子节点,返回1
//其中一个子节点不存在,那么最小深度=当前节点(1)+ 不为空的节点的最小深度
//都不为空的话,就取小的+1