Python3實(shí)現(xiàn)二叉樹的最大深度
問題提出:
給定一個二叉樹,找出其最大深度。二叉樹的深度為根節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的最長路徑上的節(jié)點(diǎn)數(shù)。
說明: 葉子節(jié)點(diǎn)是指沒有子節(jié)點(diǎn)的節(jié)點(diǎn)。
解決思路:遞歸法求解。從根結(jié)點(diǎn)向下遍歷,每遍歷到子節(jié)點(diǎn)depth+1。
代碼實(shí)現(xiàn)( ̄▽ ̄):
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def maxDepth(self, root: TreeNode) -> int: if root==None: return 0 count = self.getDepth(root,0) return count def getDepth(self,node,count): if node!=None: num1 = self.getDepth(node.left,count+1); num2 = self.getDepth(node.right,count+1); num = num1 if num1>num2 else num2 return num else: return count
時間和空間消耗:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python對稱的二叉樹多種思路實(shí)現(xiàn)方法
- python3實(shí)現(xiàn)在二叉樹中找出和為某一值的所有路徑(推薦)
- Python實(shí)現(xiàn)二叉樹的最小深度的兩種方法
- Python3 翻轉(zhuǎn)二叉樹的實(shí)現(xiàn)
- Python3 合并二叉樹的實(shí)現(xiàn)
- 用Python實(shí)現(xiàn)二叉樹、二叉樹非遞歸遍歷及繪制的例子
- 基于python二叉樹的構(gòu)造和打印例子
- Python 二叉樹的層序建立與三種遍歷實(shí)現(xiàn)詳解
- python3實(shí)現(xiàn)二叉樹的遍歷與遞歸算法解析(小結(jié))
- 如何在Python中創(chuàng)建二叉樹
相關(guān)文章
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)保存最后N個元素的方法
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法 保存最后N個元素的方法,涉及Python基于迭代器與生成器實(shí)現(xiàn)歷史記錄功能的相關(guān)操作技巧,需要的朋友可以參考下2018-02-02pyCaret效率倍增開源低代碼的python機(jī)器學(xué)習(xí)工具
這篇文章主要介紹了pyCaret一款可以使效率倍增的開源低代碼的python機(jī)器學(xué)習(xí)工具,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11mac 上配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器的方法
這篇文章主要介紹了mac 上如何配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03