溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python二叉樹的最大深度該怎樣理解

發(fā)布時(shí)間:2021-12-13 17:31:01 來(lái)源:億速云 閱讀:123 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)python二叉樹的最大深度該怎樣理解,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

二叉樹的最大深度

1 題目

給定一個(gè)二叉樹,找出其最大深度。

二叉樹的深度為根節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的最長(zhǎng)路徑上的節(jié)點(diǎn)數(shù)。

說(shuō)明: 葉子節(jié)點(diǎn)是指沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)。

示例:
給定二叉樹 [3,9,20,null,null,15,7],

3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。

2 解析

直觀的方法是通過(guò)遞歸來(lái)解決問(wèn)題。在這里,我們演示了 DFS(深度優(yōu)先搜索)策略的示例。方便快捷,直接使用下圖進(jìn)行解釋!

python二叉樹的最大深度該怎樣理解

3 完整代碼

/**
* Definition for a binary tree node.
* struct TreeNode {
*     int val;
*     TreeNode *left;
*     TreeNode *right;
*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
   int maxDept = 0;
   int dept = 1;
   int maxDepth(TreeNode* root) {
       if(root == NULL){
           return 0;
       }else{
           int leftHeight = maxDepth(root->left);
           int rightHeight = maxDepth(root->right);
           return leftHeight>rightHeight ? leftHeight + 1 :  rightHeight + 1;
       }
   }
};

上述就是小編為大家分享的python二叉樹的最大深度該怎樣理解了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI