111. 二叉树的最小深度

138 阅读1分钟

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7
复制代码

返回它的最小深度  2.

题解:

  • 这道题让我们求最小深度,典型的DFS问题

  • 同样的找3个关键点

    • 终止条件:遍历到空,返回0
    • 调用单元做了什么:如果当前节点有一个子节点为空,那么对存在的那个节点调用递归函数,并+1,如果子节点都在,那么取小的+1返回
    • 返回值:当前节点的最小深度

       //到达叶子节点,返回1
       
        
        //其中一个子节点不存在,那么最小深度=当前节点(1)+ 不为空的节点的最小深度
        
        
        //都不为空的话,就取小的+1