๐Ÿฅž BE
home

105_Construct Binary Tree from Preorder and Inorder Traversal

๋‹ด๋‹น์ž
์™„๋ฃŒ ์—ฌ๋ถ€
Solved
์š”์•ฝ
๋‚ ์งœ
2024/08/02
ํƒœ๊ทธ
ํŠธ๋ฆฌ
์ด์ง„ํƒ์ƒ‰
DFS
๋‚œ์ด๋„
Easy
์ถœ์ฒ˜
LeetCode

์ฝ”๋“œ

class Solution { public int rangeSumBST(TreeNode root, int low, int high) { // ํ•˜์œ„ ๋…ธ๋“œ ์—†์œผ๋ฉด ์ข…๋ฃŒ if (root == null) { return 0; } // ํ˜„์žฌ ๋…ธ๋“œ์˜ ๊ฐ’์ด high๋ณด๋‹ค ํฌ๋‹ค๋ฉด, ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ๋ฅผ ํƒ์ƒ‰ํ•  ํ•„์š” ์—†์Œ if (root.val > high) { return rangeSumBST(root.left, low, high); } // ํ˜„์žฌ ๋…ธ๋“œ์˜ ๊ฐ’์ด low๋ณด๋‹ค ์ž‘๋‹ค๋ฉด, ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ๋ฅผ ํƒ์ƒ‰ํ•  ํ•„์š” ์—†์Œ if (root.val < low) { return rangeSumBST(root.right, low, high); } // ํ˜„์žฌ ๋…ธ๋“œ์˜ ๊ฐ’์ด [low, high] ๋ฒ”์œ„์— ์žˆ๋Š” ๊ฒฝ์šฐ: // ํ˜„์žฌ ๋…ธ๋“œ์˜ ๊ฐ’์„ ๋”ํ•˜๊ณ , ์™ผ์ชฝ ๋ฐ ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ชจ๋‘ ํƒ์ƒ‰ return root.val + rangeSumBST(root.left, low, high) + rangeSumBST(root.right, low, high); } }
Java
๋ณต์‚ฌ

๋ฌธ์ œ ํ•ด๊ฒฐ ์•„์ด๋””์–ด

์žฌ๊ท€๋ฅผ ํ™œ์šฉํ•œ DFS ๊ตฌ์กฐ๋กœ ์กฐ๊ฑด์— ๋งž๋Š” ๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ•œ๋‹ค.