LeetCode Maximum Depth of Binary Tree

LeetCode解题之Maximum Depth of Binary Tree

原题

求一颗二叉树的最大深度,最大深度指跟节点到最底层叶子节点的距离。

注意点:

例子:

输入:

    3
   / \   9  20
    /  \    15   7
  /
 14

输出: 4

解题思路

用递归的方法,当前节点的最大深度就是左节点的最大深度和右节点的最大深度之中取大的加一。

AC源码

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


class Solution(object):
    def maxDepth(self, root):
        """ :type root: TreeNode :rtype: int """
        if not root:
            return 0
        return max(self.maxDepth(root.left), self.maxDepth(root.right)) + 1


if __name__ == "__main__":
    None

欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。

你可能感兴趣的:(LeetCode,算法,python,递归,二叉树)