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

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

搜索微信公衆號:'AI-ming3526'或者'計算機視覺這件小事' 獲取更多算法、機器學習乾貨node

csdn:https://blog.csdn.net/baidu_31657889/python

csdn:https://blog.csdn.net/abcgkj/git

github:https://github.com/aimi-cn/AILearnersgithub

1、引子

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

2、題目

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

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

說明: 葉子節點是指沒有子節點的節點。微信

示例:機器學習

給定二叉樹 [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 發佈!

相關文章
相關標籤/搜索