1. 程式人生 > >Java程式碼 求二叉樹的深度

Java程式碼 求二叉樹的深度

所謂的二叉樹的深度就是從根節點到葉子節點的依次經過的節點所形成的一條路徑,最長的路徑就是樹的深度。

演算法思想:會出現兩種情況

1、該二叉樹是空樹,則返回0;

2、該二叉樹不為空,用遞迴的方法,分別求出左子樹和右子樹的深度,比較他們的最大值,求整體樹的深度時加1即可。

Java程式碼如下:

/**
 * Definition for binary tree
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public int maxDepth(TreeNode root) {
        if (root==null){
            return 0;
        }
        else{
            int left=maxDepth(root.left);
            int right=maxDepth(root.right);
            return Math.max(left,right)+1;
        }
    }
}