题解 | #牛群排列的最大深度#【Java】

牛群排列的最大深度

https://www.nowcoder.com/practice/b3c6383859a142e9a10ab740d8baed88?tpId=354&tqId=10591751&ru=/exam/oj&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj

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 {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param root TreeNode类
     * @return int整型
     */
    public static int max_depth = 0;
    public int maxDepth (TreeNode root) {
        search(root, 0);
        return max_depth;
    }
    public void search(TreeNode node, int cur) {
        if (node == null) {
            max_depth = Math.max(max_depth, cur);
            return;
        }
        search(node.left, cur + 1);
        search(node.right, cur + 1);
    }
}

本题知识点:

1.二叉树遍历四种方式选一种

2.找出二叉树的最大深度

3.递归调用

本题解题思路:

1.创建一个全局变量max_depth用于记录最大深度

2.编写递归和二叉树遍历函数search

3.传递两个形参,node当前节点和cur当前高度

4.先判断node是否为null,如果是表明某个分支已经到底,那么用Math.max去判断当前深度和max_depth,取大的作为max_depth,然后返回

5.递归调用左节点和右节点,因为左节点和右节点必定在下一层,因此传入形成cur+1

本题使用编程语言:Java

高频面试算法题解 文章被收录于专栏

高频面试算法题解,每天一小步,人生一大步,跟着一起刷起来!

全部评论

相关推荐

qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
一tiao酸菜鱼:秋招还没正式开始呢,就准备有结果了。。。。?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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