From 3d05b420a785788379e5caf416bbe3bb90fff357 Mon Sep 17 00:00:00 2001 From: Amaan-29 Date: Tue, 20 Jan 2026 21:35:25 -0500 Subject: [PATCH] Trees-1 IsValidBST HW --- .idea/.gitignore | 3 +++ .idea/Trees-1.iml | 11 +++++++++ .idea/codeStyles/Project.xml | 7 ++++++ .idea/codeStyles/codeStyleConfig.xml | 5 ++++ .idea/misc.xml | 6 +++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 +++++ IsValidBST.java | 34 ++++++++++++++++++++++++++++ 8 files changed, 80 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/Trees-1.iml create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 IsValidBST.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/Trees-1.iml b/.idea/Trees-1.iml new file mode 100644 index 00000000..b107a2dd --- /dev/null +++ b/.idea/Trees-1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 00000000..919ce1f1 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 00000000..a55e7a17 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..f5bd2dfe --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..5cffe90c --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/IsValidBST.java b/IsValidBST.java new file mode 100644 index 00000000..fda722c4 --- /dev/null +++ b/IsValidBST.java @@ -0,0 +1,34 @@ +import javax.swing.tree.TreeNode; +import java.util.LinkedList; +import java.util.List; + +public class IsValidBST { + public boolean isValidBST(TreeNode root) { + List inOrderList = new LinkedList<>(); + //populate the list + helper(root, inOrderList); + boolean isBST=true; + int prev = inOrderList.get(0); + for(int i = 1; i < inOrderList.size(); i++){ + //check if element is smaller than previous element or if element is duplicate + if(inOrderList.get(i)<= prev){ + isBST = false; + } + //updating prev element + prev = inOrderList.get(i); + } + return isBST; + } + + void helper(TreeNode treeNode, List inOrderList){ + if(treeNode==null){ + return; + } + helper(treeNode.left, inOrderList); + inOrderList.add(treeNode.val); + helper(treeNode.right, inOrderList); + } +} + +//TC: O(N) +//SC: O(N)