104-二叉树的最大深度
思路:递归
typescript
// Definition for a binary tree node.
class TreeNode {
val: number
left: TreeNode | null
right: TreeNode | null
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
this.val = val === undefined ? 0 : val
this.left = left === undefined ? null : left
this.right = right === undefined ? null : right
}
}
function maxDepth(root: TreeNode | null): number {
if (root === null) return 0
// 树最大深度,等于左子树的深度和右子树的深度,最大的那个再 + 1
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1
}// Definition for a binary tree node.
class TreeNode {
val: number
left: TreeNode | null
right: TreeNode | null
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
this.val = val === undefined ? 0 : val
this.left = left === undefined ? null : left
this.right = right === undefined ? null : right
}
}
function maxDepth(root: TreeNode | null): number {
if (root === null) return 0
// 树最大深度,等于左子树的深度和右子树的深度,最大的那个再 + 1
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1
}
Ayingotts's notes