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

牛群排列的最大深度

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

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 maxDepth (TreeNode root) {
        // write code here
        List<Integer> list = new LinkedList<>();
        levelOrder(root, 0, list);
        return list.size();
    }
    private void levelOrder(TreeNode root, int level, List<Integer> list) {
        if (root == null) return;
        if (level == list.size()) list.add(0);
        list.set(level, root.val);
        levelOrder(root.left, level + 1, list);
        levelOrder(root.right, level + 1, list);
    }
}
  • 根据题意,求二叉树的最大深度,即最大层数,可以使用层序遍历
  • 定义一个List,对二叉树进行层序遍历,最后List集合的元素个数即为二叉树的最大深度
#二叉树的最大深度##层序遍历#
线性表基础 文章被收录于专栏

链表、递归、栈

全部评论

相关推荐

10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
我是小红是我:学校换成中南
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务