天天看點

LeetCode 104:二叉樹的最大深度

LeetCode 104:二叉樹的最大深度

    • 題目描述
    • 解題思路
    • 代碼實作
    • 總結

題目描述

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

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

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

LeetCode 104:二叉樹的最大深度

解題思路

遞歸思路,依次求取左子樹和右子樹的深度,最後二叉樹的深度等于左右子樹的最大深度+1,因為深度包括根節點在内。

代碼實作

去部落格設定頁面,選擇一款你喜歡的代碼片高亮樣式,下面展示同樣高亮的

代碼片

.

public class depthOfTree {
    //二叉樹的最大深度
    public int maxDepth(TreeNode root) {//acc:1ms 47%
        if (root == null) {
            return 0;
        } else {
            int left_height = maxDepth(root.left);
            int right_height = maxDepth(root.right);
            return Math.max(left_height, right_height) + 1;
        }
    }

    public static void main(String[] args) {
        TreeNode node1 = new TreeNode(10);
        TreeNode node2 = new TreeNode(6);
        TreeNode node3 = new TreeNode(14);


        node1.left = node2;
        node1.right = node3;
        node2.left = null;
        node2.right = null;
        node3.left = null;
        node3.right = null;
        depthOfTree test=new depthOfTree();
        int depth=test.maxDepth(node1);
        System.out.println(depth);
    }
}






           

總結

本題來源于Leetcode中 歸屬于樹類型題目。

同許多在算法道路上不斷前行的人一樣,不斷練習,修煉自己!

如有部落格中存在的疑問或者建議,可以在下方留言一起交流,感謝各位!

覺得本部落格有用的客官,可以給個贊鼓勵下! 嘿嘿