Maximum Depth of Binary Tree - LeetCode
[0, 104]
.100 <= Node.val <= 100
재귀를 통해 트리를 탐색 → Sol1
재귀
재귀를 통해 트리를 탐색 → 최대 depth 갱신
/**
* Example:
* var ti = TreeNode(5)
* var v = ti.`val`
* Definition for a binary tree node.
* class TreeNode(var `val`: Int) {
* var left: TreeNode? = null
* var right: TreeNode? = null
* }
*/
class Solution {
var answer = 0
fun maxDepth(root: TreeNode?): Int {
search(root)
return answer
}
private fun search(root: TreeNode?, depth: Int = 0) {
if (root == null) return
answer = maxOf(answer, depth + 1) // 최대 깊이 갱신
search(root.left, depth + 1)
search(root.right, depth + 1)
}
}
시간 복잡도: 트리 탐색 = n