Kotlin Leetcode - 104. Maximum Depth of Binary Tree
class Solution {
fun maxDepth(root: TreeNode?): Int {
}
}
解題思路
這題是處理樹的結構
可以用遞迴的角度思考
- 如果 root 為 null,回傳 0
- 如果不為 null,找出左右子樹中最長的深度,並且將該深度 + 1
Kotlin 參考解答
/**
* 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 {
fun maxDepth(root: TreeNode?): Int {
return when (root) {
null -> 0
else -> maxOf(maxDepth(root!!.left), maxDepth(root!!.right)) + 1
}
}
}
- 回到 leetcode 列表
- 回到 Grind 75 列表