Java 题解 | #牛群的最大高度#
牛群的最大高度
https://www.nowcoder.com/practice/f745023c5ac641c9914a59377dacdacf
该题考察的的知识点:二叉树的基本数据结构,DFS,递归
为了找到二叉树中的最高牛,我们可以使用深度优先搜索(DFS)来遍历整个二叉树,并记录最大高度值。在遍历过程中,我们可以比较当前节点的高度值与当前最大高度值,并更新最大高度值。
代码解释:
这个代码使用递归的方式进行深度优先搜索,依次遍历每个节点,并找到最大的高度值。在遍历过程中,我们比较当前节点的高度值与其左子树和右子树的最大高度值,并将最大值返回给上层调用。最终,我们就能找到整个二叉树中的最高牛的高度。
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 0; } int leftMaxHeight = findMaxHeight(root.left); int rightMaxHeight = findMaxHeight(root.right); return Math.max(root.val, Math.max(leftMaxHeight, rightMaxHeight)); } }