[LeetCode]题解(python):111 Minimum Depth of Binary Tree
题目来源
https://leetcode.com/problems/minimum-depth-of-binary-tree/
Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
题意分析
Input: a binary tree
Output: leaf node 的最小深度
Conditions: 注意一定要是leaf节点,求leaf节点的最小深度
题目思路
递归,注意与求最大深度不同
AC代码(Python)
1 # Definition for a binary tree node. 2 # class TreeNode(object): 3 # def __init__(self, x): 4 # self.val = x 5 # self.left = None 6 # self.right = None 7 8 class Solution(object): 9 def minDepth(self, root): 10 """ 11 :type root: TreeNode 12 :rtype: int 13 """ 14 if root == None: 15 return 0 16 if root.left == None and root.right != None: 17 return self.minDepth(root.right) + 1 18 if root.left != None and root.right == None: 19 return self.minDepth(root.left) + 1 20 return min(self.minDepth(root.left), self.minDepth(root.right)) + 1 21