【LeetCode 简单题】25-二叉树的最小深度

声明:

今天是第25道题。给定一个二叉树,找出其最小深度。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除

(手动比心ღ( ´・ᴗ・` ))

正文

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

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

示例:

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

    3
   / \
  9  20
    /  \
   15   7 

返回它的最小深度  2 

解法1。递归做法,就是拆解不同情况,先把简单的情况用if语句判断返回,其他情况递归返回高度最小值。

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def minDepth(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        if root is None:    # 父节点为空,高度为0
            return 0
        elif root.left is None and root.right is None:    # 只有1个父节点,高度为0
            return 1
        elif root.left is None:        # 左子树为空,返回右子树最小高度
            return self.minDepth(root.right)+1
        elif root.right is None:       # 右子树为空,返回左子树最小高度
            return self.minDepth(root.left)+1
        else:                          # 递归返回左右子树最小高度
            return min(self.minDepth(root.left),self.minDepth(root.right))+1

 解法2。迭代的方法,但我没看太懂,先贴在这里,以后慢慢看。。

class Solution:
    def minDepth(self, root):
       # V 2.0,能提交 
        if root is None:
            return 0
        p = [root]
        current_level_num = 1
        next_level_num = 0
        i = 1
        while p:
            current = p.pop(0)
            current_level_num-=1
            if current.left is None and current.right is None:
                return i
            if current.left:
                next_level_num+=1
                p.append(current.left)
            if current.right:
                next_level_num+=1
                p.append(current.right)
            if current_level_num == 0:
                i += 1
                current_level_num = next_level_num
                next_level_num = 0

结尾

解法1:https://blog.csdn.net/qq_34364995/article/details/80427232

解法2:https://blog.csdn.net/qq_34364995/article/details/80427232

猜你喜欢

转载自blog.csdn.net/weixin_41011942/article/details/82800774
今日推荐