首页 > 其他 > 详细

0104. Maximum Depth of Binary Tree (E)

时间:2020-12-01 18:11:06      阅读:23      评论:0      收藏:0      [点我收藏+]

Maximum Depth of Binary Tree (E)

题目

Given a binary tree, find its maximum depth.

The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

Note: A leaf is a node with no children.

Example:

Given binary tree [3,9,20,null,null,15,7],

    3
   /   9  20
    /     15   7

return its depth = 3.


题意

求二叉树的最大深度。

思路

DFS或者BFS。


代码实现

Java

DFS

class Solution {
    public int maxDepth(TreeNode root) {
        return root == null ? 0 : Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
    }
}

BFS

class Solution {
    public int maxDepth(TreeNode root) {
        Queue<TreeNode> q = new ArrayDeque<>();
        int depth = 0;
        if (root != null) {
            q.offer(root);
        }

        while (!q.isEmpty()) {
            depth++;
            int size = q.size();
            for (int i = 0; i < size; i++) {
                TreeNode cur = q.poll();
                if (cur.left != null) q.offer(cur.left);
                if (cur.right!=null) q.offer(cur.right);
            }
        }

        return depth;
    }
}

JavaScript

/**
 * @param {TreeNode} root
 * @return {number}
 */
var maxDepth = function (root) {
  return root ? Math.max(maxDepth(root.left), maxDepth(root.right)) + 1 : 0
}

0104. Maximum Depth of Binary Tree (E)

原文:https://www.cnblogs.com/mapoos/p/14069040.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!