Skip to content

Commit 72e9a27

Browse files
committed
feat: WEEK 04 solution (maximum-depth-of-binary-tree)
1 parent 00a0f20 commit 72e9a27

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Example:
3+
* var ti = TreeNode(5)
4+
* var v = ti.`val`
5+
* Definition for a binary tree node.
6+
* class TreeNode(var `val`: Int) {
7+
* var left: TreeNode? = null
8+
* var right: TreeNode? = null
9+
* }
10+
*/
11+
class Solution {
12+
fun maxDepth(root: TreeNode?): Int {
13+
if (root == null) return 0
14+
15+
var maxDepth = 0
16+
17+
fun dfs(node: TreeNode, depth: Int) {
18+
//leaf node
19+
if (node.left == null && node.right == null) maxDepth = maxOf(maxDepth, depth)
20+
21+
if (node.left != null) dfs(node.left!!, depth + 1)
22+
if (node.right != null) dfs(node.right!!, depth + 1)
23+
}
24+
25+
dfs(root!!, 1)
26+
27+
return maxDepth
28+
}
29+
30+
}

0 commit comments

Comments
 (0)