리트코드 938번 Range Sum of BST (python)

Kim Yongbin·2023년 10월 3일
0

코딩테스트

목록 보기
99/162

Problem

LeetCode - The World's Leading Online Programming Learning Platform

Solution

# Definition for a binary tree node.
from typing import Optional

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

class Solution:
    range_sum = 0

    def rangeSumBST(self, root: Optional[TreeNode], low: int, high: int) -> int:
        if root:
            if low <= root.val <= high:
                self.range_sum += root.val

            if low <= root.val:
                self.rangeSumBST(root.left, low, high)
            if high >= root.val:
                self.rangeSumBST(root.right, low, high)

        return self.range_sum

재귀를 통해 노드를 탐색하며 합을 구하였다.

Reference

파이썬 알고리즘 인터뷰 52번

profile
반박 시 여러분의 말이 맞습니다.

0개의 댓글