美文网首页
104.二叉树的最大深度

104.二叉树的最大深度

作者: 康大侠 | 来源:发表于2021-04-16 22:37 被阅读0次
/**
     * 递归
     * */
     public int maxDepth(TreeNode root) {
        if (root == null) return 0;
        return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
     }
    
/**
 * 迭代,就是二叉树的层序遍历,加上高度计算
 * */
 public int maxDepth(TreeNode root) {
     if (root == null) return 0;

        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);
        // 树的高度
        int height = 0;
        // 存储着每一层的元素数量
        int levelSize = 1;

        while (!queue.isEmpty()) {

            TreeNode tmpNode = queue.poll();
            levelSize--;

            if (tmpNode.left != null) {
                queue.offer(tmpNode.left);
            }

            if (tmpNode.right != null) {
                queue.offer(tmpNode.right);
            }

            if (levelSize == 0) {
                levelSize = queue.size();
                height++;
            }
        }

        return height;
 }
```![截屏2021-04-16 下午10.38.19.png](https://img.haomeiwen.com/i328144/4498e93d2e83ab78.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

相关文章

网友评论

      本文标题:104.二叉树的最大深度

      本文链接:https://www.haomeiwen.com/subject/htpylltx.html