题解 | #牛群的最大高度# java

牛群的最大高度

https://www.nowcoder.com/practice/f745023c5ac641c9914a59377dacdacf

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 int findMaxHeight (TreeNode root) {
        // write code here
        // 如果根节点为空,说明是空树,返回高度为0
        if (root == null) {
            return 0;
        }

        int val = root.val; // 当前节点的值,不影响高度计算

        // 递归计算左子树和右子树的最大高度,取较大值
     int maxChildHeight = Math.max(val,Math.max(findMaxHeight(root.left),findMaxHeight(root.right)));
      // 最大高度为当前节点的高度(1)加上左子树和右子树中的较大高度
        return  maxChildHeight;

    }
}

该题考察的知识点包括二叉树的基础操作,寻找二叉树最大高度。

  1. 首先判断根节点是否为空,如果为空说明是空树,直接返回高度为0。
  2. 获取当前节点的值(val),该值不影响高度的计算。
  3. 通过递归,分别计算当前节点的左子树和右子树的最大高度,并取较大值。
  4. 最大高度为当前节点的高度(1)加上左子树和右子树中的较大高度。
全部评论

相关推荐

03-29 14:19
门头沟学院 Java
你背过凌晨4点的八股文么:加油同学,人生的容错率很高,只是一个暑期罢了,后面还有很多机会!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务