File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
validate-binary-search-tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change
1
+ # ํธ๋ฆฌ๋ฅผ ์ค์ ์ํํ๊ธฐ ์ผ์ชฝ -> ๋ฃจํธ -> ์ค๋ฅธ์ชฝ
2
+ # ์ด์ ์ ๋ฐฉ๋ฌธํ ๋
ธ๋์ ๊ฐ์ด ํ์ฌ ๊ฐ๋ณด๋ค ์์์ง ํ์ธ
3
+ # ๋ชจ๋ ๋
ธ๋๊ฐ ์กฐ๊ฑด ๋ง์กฑํ๋ฉด True
4
+
5
+ class TreeNode :
6
+ def __init__ (self , val = 0 , left = None , right = None ):
7
+ self .val = val
8
+ self .left = left
9
+ self .right = right
10
+
11
+ class Solution :
12
+ def isValidBST (self , root : Optional [TreeNode ]) -> bool :
13
+ stack = []
14
+ # ์ต์๊ฐ, ์ต๋๊ฐ ๊ตฌํ ๋ ์ฌ์ฉ
15
+ # float('-inf') : ์์ ๋ฌดํ๋
16
+ # float('inf') : ์์ ๋ฌดํ๋
17
+ prev = float ('-inf' )
18
+ current = root
19
+
20
+ # current๊ฐ ์กด์ฌํ๊ฑฐ๋ stack์ด ๋น์ด์์ง ์์ ํ ๊ณ์ ์ง์
21
+ while current or stack :
22
+ while current :
23
+ stack .append (current )
24
+ current = current .left
25
+ current = stack .pop ()
26
+ if current .val <= prev :
27
+ return False
28
+ prev = current .val
29
+ current = current .right
30
+ return True
31
+
You canโt perform that action at this time.
0 commit comments