.Zzumbong

[leetCode/JS] 938. Range Sum of BST ๋ณธ๋ฌธ

coding test/leetCode

[leetCode/JS] 938. Range Sum of BST

์ญ˜๋ด‰ 2022. 12. 7. 09:42

๋‚œ์ด๋„ [ ๐Ÿ˜Š ] Easy

 

๋ฌธ์ œ ์„ค๋ช…

Given the root node of a binary search tree and two integers low and high, return the sum of values of all nodes with a value in the inclusive range [low, high].

2์ง„ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ ๊ฐ’์ด low, high ๋ฒ”์œ„์— ๋“ค์–ด์˜ค๋ฉด ๋ชจ๋‘ ๋”ํ•ด์„œ return ํ•œ๋‹ค. 

 

์ž…์ถœ๋ ฅ ์˜ˆ

Example 1:

Input: root = [10,5,15,3,7,null,18], low = 7, high = 15
Output: 32
Explanation: Nodes 7, 10, and 15 are in the range [7, 15]. 7 + 10 + 15 = 32.

 

Example 2:

Input: root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10
Output: 23
Explanation: Nodes 6, 7, and 10 are in the range [6, 10]. 6 + 7 + 10 = 23.

 

Constraints

  • The number of nodes in the tree is in the range [1, 2 * 104].
  • 1 <= Node.val <= 105
  • 1 <= low <= high <= 105
  • All Node.val are unique.

 


 

๋‚ด ์†”๋ฃจ์…˜

  • ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ธฐ๋ณธ์ ์ธ 2์ง„ํŠธ๋ฆฌ ํƒ์ƒ‰์„ ๊ตฌํ˜„ํ–ˆ๋‹ค.
var rangeSumBST = function(root, low, high) {
  let sum = 0;
  const bst = (node) => {
    if(!node) return;
    if(low <= node.val && node.val <= high) sum += node.val
    bst(node.left)
    bst(node.right)
  }
  bst(root);
  return sum;
};

 

๊ฐ์ƒํ‰

  • ๋”ฑ ์ ๋‹นํ•œ ์†๋„์™€ ๋ฉ”๋ชจ๋ฆฌ. BST ํ˜ธ์ถœ ์ „์— if๋ฅผ ๊ฑธ๋ฉด ์ข€๋” ๋นจ๋ผ์งˆ ์ˆ˜ ์žˆ์„๊นŒ

 

 

'coding test > leetCode' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[leetCode/JS] 1026. Maximum Difference Between Node and Ancestor  (0) 2022.12.09
[leetCode/JS] 872. Leaf-Similar Trees  (0) 2022.12.08
[leetCode/JS] 328. Odd Even Linked List  (0) 2022.12.06
[leetCode/JS] 876. Middle of the Linked List  (0) 2022.12.05
[leetCode/JS] 2256. Minimum Average Difference  (0) 2022.12.04
0 Comments
๋Œ“๊ธ€์“ฐ๊ธฐ ํผ