1. 程式人生 > 其它 >二叉樹的深度——劍指Offer|簡單題|JZ38

二叉樹的深度——劍指Offer|簡單題|JZ38

技術標籤:劍指offer演算法

題目線上測試連線:二叉樹的深度_牛客網 (nowcoder.com)

題目:輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度

題解:

    int TreeDepth(TreeNode* pRoot)
    {
        int depth = 1;    //假設當前節點存在,則深度為一
        if(!pRoot)        //如果當前節點不存在,返回0
            return 0;
        depth = max(depth, TreeDepth(pRoot->left) + 1);    //當前節點存在,深度為max(1,左子樹+1)
        depth = max(depth, TreeDepth(pRoot->right) + 1);   //當前節點存在,深度為max(depth,右子樹+1)
              
        return depth;
    }

思路:分治,返回以子節點為根節點的完整子樹的最大深度+1;

示意圖:

TreeDepth(node_B)= 2