题解 | 二叉树的最大深度

二叉树的最大深度

https://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 *   public TreeNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    static int max=0;//定义一个全局变量所有递归栈共享
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param root TreeNode类 
     * @return int整型
     */
    public int maxDepth (TreeNode root) {
        // write code here
        dfs(root,1);//初始层数就是1
        return max;
    }
    public void dfs(TreeNode root,int cur){
        if(root==null){
            return;
        }
         max=Math.max(max,cur);//每次递归实时记录当前层数
        dfs(root.left,cur+1);//左边每往下层数都加1,cur不是共享的左右的cur相互独立
       
        dfs(root.right,cur+1);
    }
}

全部评论

相关推荐

牛客51274894...:照片认真的吗,找个专门拍证件照的几十块钱整端正点吧,要不就别加照片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务