LeetCode初級算法--樹01:二叉樹的最大深度

LeetCode初級算法--樹01:二叉樹的最大深度

搜索微信公衆號:'AI-ming3526'或者'計算機視覺這件小事' 獲取更多算法、機器學習乾貨
csdn:https://blog.csdn.net/baidu_31657889/
csdn:https://blog.csdn.net/abcgkj/
github:https://github.com/aimi-cn/AILearnersnode

1、引子

這是由LeetCode官方推出的的經典面試題目清單~
這個模塊對應的是探索的初級算法~旨在幫助入門算法。咱們第一遍刷的是leetcode推薦的題目。
查看完整的劍指Offer算法題解析請點擊github連接:
github地址python

2、題目

給定一個二叉樹,找出其最大深度。git

二叉樹的深度爲根節點到最遠葉子節點的最長路徑上的節點數。github

說明: 葉子節點是指沒有子節點的節點。面試

示例:算法

給定二叉樹 [3,9,20,null,null,15,7],編程

3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。微信

一、思路

使用遞歸的方法解決此題。直接上圖:機器學習

file

咱們能夠看到樹的深度H等於1加上左右兩個左右子樹深度的最大值。學習

因此咱們直接使用遞歸方法處理~看代碼

二、編程實現

python

# 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 root is None:
            return 0
        count = max(self.maxDepth(root.left),self.maxDepth(root.right)) + 1
        return count

AIMI-CN AI學習交流羣【1015286623】 獲取更多AI資料

分享技術,樂享生活:咱們的公衆號計算機視覺這件小事每週推送「AI」系列資訊類文章,歡迎您的關注!

本文由博客一文多發平臺 OpenWrite 發佈!

相關文章
相關標籤/搜索