Given a binary tree, find its maximum depth.javascript
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.java
Note: A leaf is a node with no children.node
Example:code
Given binary tree [3,9,20,null,null,15,7]
,ip
3 / \ 9 20 / \ 15 7
return its depth = 3.it
求二叉樹的最大深度。io
DFS或者BFS。function
class Solution { public int maxDepth(TreeNode root) { return root == null ? 0 : Math.max(maxDepth(root.left), maxDepth(root.right)) + 1; } }
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; } }
/** * @param {TreeNode} root * @return {number} */ var maxDepth = function (root) { return root ? Math.max(maxDepth(root.left), maxDepth(root.right)) + 1 : 0 }