[Tree]111. Minimum Depth of Bina

2019-02-23  本文已影响0人  野生小熊猫

111. 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.

Note: A leaf is a node with no children.

Example:

Given binary tree [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

return its minimum depth = 2.

代码:

# 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: 'TreeNode') -> 'int':
        
        if root==None:
            return 0
        
        return self.helper(root,1)
    
    def helper(self,root,level):
        level+=1
        if root.left==None and root.right==None:
            return level-1
        elif root.left==None:
            return self.helper(root.right,level)
        elif root.right==None:
            return self.helper(root.left,level)
        else:
            return min(self.helper(root.left,level),self.helper(root.right,level))

讨论:

1.虽然折腾了半天,但是这个代码是自己写的还是非常自豪滴!

上一篇 下一篇

猜你喜欢

热点阅读