File tree Expand file tree Collapse file tree
validate-binary-search-tree Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ /*
2+ # Time Complexity: O(n)
3+ # Space Complexity: O(n)
4+
5+ BST는 inorder traverse를 하면 오름차순으로 방문해야 함을 활용
6+ */
7+
8+ /**
9+ * Definition for a binary tree node.
10+ * public class TreeNode {
11+ * int val;
12+ * TreeNode left;
13+ * TreeNode right;
14+ * TreeNode() {}
15+ * TreeNode(int val) { this.val = val; }
16+ * TreeNode(int val, TreeNode left, TreeNode right) {
17+ * this.val = val;
18+ * this.left = left;
19+ * this.right = right;
20+ * }
21+ * }
22+ */
23+ class Solution {
24+ public boolean isValidBST (TreeNode root ) {
25+ List <Integer > inorder = new ArrayList <>();
26+
27+ inorderTraverse (root , inorder );
28+
29+ for (int i = 1 ; i < inorder .size (); i ++) {
30+ if (inorder .get (i - 1 ) >= inorder .get (i )) return false ;
31+ }
32+
33+ return true ;
34+ }
35+
36+ private void inorderTraverse (TreeNode root , List <Integer > inorder ) {
37+ if (root == null ) return ;
38+
39+ inorderTraverse (root .left , inorder );
40+ inorder .add (root .val );
41+ inorderTraverse (root .right , inorder );
42+ }
43+ }
You can’t perform that action at this time.
0 commit comments