讨论/《二叉树》 - 二叉树的最大深度/
《二叉树》 - 二叉树的最大深度
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    int ans = 0;
    public int maxDepth(TreeNode root) {
        ans = fun(root);
        return ans;
    }
    //自底向上
    public int fun(TreeNode root){
        if(root==null){
            return 0;
        }
        int left = fun(root.left)+1;
        int right = fun(root.right)+1;
        return Math.max(left,right);
    }

    //自顶向下
    // public void fun(TreeNode root,int k){
    //     if(root==null){
    //         return;
    //     }
    //     //到底了

    //         ans = Math.max(ans,k);
        
    //     fun(root.left,k+1);
    //     fun(root.right,k+1);
    // }
}
展开全部 13 讨论