题解 | #牛群的最大高度#
牛群的最大高度
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 if (root == null) { return Integer.MIN_VALUE; // 不存在的节点高度设置为负无穷大 } int leftMax = findMaxHeight(root.left); int rightMax = findMaxHeight(root.right); int currentMax = Math.max(root.val, Math.max(leftMax, rightMax)); return currentMax; } }
题目考察的知识点是:
二叉树的遍历和查找最大值。
解题方法分析:
- 要找出二叉树中的最大值,可以使用深度优先搜索(DFS)的方法进行遍历。
- 遍历二叉树的过程中,需要记录当前的最大值,并不断更新最大值。
- 可以使用递归或栈来实现深度优先搜索。