Skip to content

Commit 909ff53

Browse files
committed
validate binary search tree solution
1 parent 9c61c8c commit 909ff53

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
3+
- ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ left๋Š” ๋ถ€๋ชจ๋ณด๋‹ค ์ž‘์€ ์ˆ˜
4+
- ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ right๋Š” ๋ถ€๋ชจ๋ณด๋‹ค ํฐ ์ˆ˜
5+
์ด ๋ฌธ์ œ์—์„œ ๊ตฌํ•˜๋ ค๋Š” ๊ฒƒ์€ '์ฃผ์–ด์ง„ ํŠธ๋ฆฌ๊ฐ€ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๋ฅผ ๋งŒ์กฑํ•˜๋Š”๊ฐ€?'์ด๋‹ค
6+
์ด๋Š” ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS)์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
7+
์—ฌ๊ธฐ์„œ validate๋Š” 'BST'์˜ ํŠน์ง•์„ ๋น„๊ตํ•˜๋Š” ํ•จ์ˆ˜์ธ๋ฐ,
8+
validate()๋Š” validate๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด์„œ ๊นŠ์ด ํƒ์ƒ‰ํ•˜์—ฌ ์ตœ์ข… ์ฐธ/๊ฑฐ์ง“์„ ํŒ๋ณ„ํ•œ๋‹ค.
9+
*/
10+
/**
11+
* Definition for a binary tree node.
12+
* function TreeNode(val, left, right) {
13+
* this.val = (val===undefined ? 0 : val)
14+
* this.left = (left===undefined ? null : left)
15+
* this.right = (right===undefined ? null : right)
16+
* }
17+
*/
18+
/**
19+
* @param {TreeNode} root
20+
* @return {boolean}
21+
*/
22+
function isValidBST(root) {
23+
function validate(p, min, max) {
24+
if (p === null) return true;
25+
26+
if (p.val <= min || p.val >= max) return false;
27+
28+
return validate(p.left, min, p.val) && validate(p.right, p.val, max);
29+
}
30+
31+
return validate(root, -Infinity, Infinity);
32+
}

0 commit comments

Comments
ย (0)