aboutsummaryrefslogtreecommitdiff
path: root/Parentheses.java
diff options
context:
space:
mode:
Diffstat (limited to 'Parentheses.java')
-rw-r--r--Parentheses.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/Parentheses.java b/Parentheses.java
new file mode 100644
index 0000000..b1a1b82
--- /dev/null
+++ b/Parentheses.java
@@ -0,0 +1,26 @@
+import java.lang.*;
+import java.util.*;
+
+class Parentheses {
+ public static boolean isValid(String s) {
+ HashMap<Character, Character> map = new HashMap<Character, Character>();
+ map.put(')','(');
+ map.put(']','[');
+ map.put('}','{');
+ Stack<Character> stack = new Stack<Character>();
+ char[] arr = s.toCharArray();
+ stack.push(arr[0]);
+ for (int i = 1; i < arr.length; i++) {
+ if (arr[i] == '(' || arr[i] == '[' || arr[i] == '{')
+ stack.push(arr[i]);
+ else if (map.get(arr[i]) == stack.peek())
+ stack.pop();
+ }
+ return stack.isEmpty();
+ }
+
+ public static void main(String[] args) {
+ String s = ")(";
+ System.out.println(isValid(s));
+ }
+}