[LeetCode] Maximum Depth of Binary Tree

허진석·2020년 12월 1일

Algorithms

목록 보기
3/5

2020 December LeetCoding Challenge

문제

Given the root of a binary tree, return its maximum depth.

A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

이진트리의 최대 깊이를 구하는 문제

코드

function maxDepth(root: TreeNode | null): number {
    if (!root) {
        return 0;
    }

    let answer = 0;

    const traverse = (node: TreeNode | null, level: number) => {
        if (!node) {
            return;
        }

        answer = Math.max(level, answer);

        traverse(node.left, level + 1);
        traverse(node.right, level + 1);
    }

    traverse(root, 1);
    return answer;

}

왼쪽과 오른쪽 노드를 재귀호출하여 최대 깊이를 구하면 된다

Cost

n = number of nodes
Time complexity = O(n)
Space complexity = O(n)

profile
안녕하세요.

0개의 댓글