diff options
Diffstat (limited to 'Parentheses.java')
-rw-r--r-- | Parentheses.java | 26 |
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)); + } +} |