[LeetCode] 938. Range Sum of BST

Minji·2024년 1월 5일

Range Sum of BST - LeetCode

문제 접근 🤔


  • DFS를 통해 트리의 정점들이 low ≤ 정점 ≤ high 를 만족하는지 확인하고, 조건을 만족하면 sum 에 더해준다.


놓쳤던 부분 😅


  • 없음


코드 😁


파이썬 코드(130 ms)

class Solution:
    def rangeSumBST(self, root: Optional[TreeNode], low: int, high: int) -> int:
        self.sum = 0
        def dfs(node):
            if not node:
                return
            if node.val and node.val >= low and node.val <= high:
                self.sum += node.val
            dfs(node.left)
            dfs(node.right)
        dfs(root)
        return self.sum

자바스크립트 코드(117 ms)

const rangeSumBST = (root, low, high) => {
  let sum = 0;

  const dfs = (node) => {
    if (!node) {
      return 0;
    }
    if (!!node.val && node.val >= low && node.val <= high) {
      sum += node.val;
    }
    dfs(node.left);
    dfs(node.right);
  };
  dfs(root);
  return sum;
};
profile
기록을 좋아하는 프론트엔드 개발자입니다.

0개의 댓글