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