力扣104 求二叉樹的最大深度
題目:
給定一個二叉樹,找出其最大深度,
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數,
說明: 葉子節點是指沒有子節點的節點,
示例
給定二叉樹 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
回傳它的最大深度 3 ,
解題思路:
要求一顆二叉樹的最大深度我們遞回遍歷這顆二叉樹的左子樹與右子樹分別求得左子樹與右子樹的高度并回傳其中的最大值最后再加上1就是這顆二叉樹的最大深度,
代碼:
/**
* 求一顆二叉樹的最大深度,就看這棵二叉樹的左子樹與右子樹的深度哪個最大,取這兩者的最大值再加1
* 加1就是加的根節點的這一層
*/
public class MaxDepthTree {
//1.首先定義二叉樹的節點類
public static class TreeNode{
public int value;
public TreeNode left;
public TreeNode right;
public TreeNode(int value) {
this.value = https://www.cnblogs.com/ygstudy/archive/2023/01/02/value;
}
}
//2.定義一個方法取出以root為根節點的最大的高度
public static int maxDepth(TreeNode root){
//2.1如果根節點為空說明此樹的高度為0
if (root == null) {
return 0;
}
//2.2遞回左子樹,遞回右子樹并回傳這兩顆子樹的最大值再加1
return Math.max(maxDepth(root.left),maxDepth(root.right)) + 1;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/541032.html
標籤:其他
上一篇:包裝類
下一篇:初識Java
