二叉樹的深度


c博客鏈接:

二叉樹的深度

題目鏈接:

題目

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

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

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

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

3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。

題解

使用遞歸,每次遍歷節點,判斷是否為葉子節點,如果不是葉子節點,則繼續遍歷並把深度加一,如果是葉子節點比較當前深度是否比前面深度大,並且返回。

做這類題目的思路是:

1.先確定輸入,輸出。

2.確定最小遞歸單元。

3.怎么由最小遞歸單元得出最后結果。

代碼

 

class Solution {
    public int maxDepth(TreeNode root) {
         return  max(root);
    }
    public int max(TreeNode root){
        if(root==null)
        return 0;
       int left= max(root.left);
       int right= max(root.right);
        return Math.max(left,right)+1;
    }
}

 

結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM