😎풀이

  1. 깊이 우선 탐색을 수행한다.
  2. 탐색 되는 노드의 값을 확인한다.
    2-1. low 이상의 값인지 확인한다.
    2-2. high 이하의 값인지 확인한다.
    2-3. 모두 만족하는 경우의 수들을 합산한다.
  3. 합산된 결과를 반환한다.
function rangeSumBST(root: TreeNode | null, low: number, high: number): number {
    let sum = 0
    function dfs(node: TreeNode | null) {
        if(!node) return
        const curVal = node.val
        if(low <= curVal && curVal <= high) sum += curVal
        dfs(node.left)
        dfs(node.right)
    }
    dfs(root)
    return sum
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글