aboutsummaryrefslogtreecommitdiff
path: root/Parentheses.java
blob: b1a1b82251107347640f72648b1bfa167c67ee2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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));
	}
}