MCPcopy Create free account
hub / github.com/Tiwarishashwat/InterviewCodes / Solution

Class Solution

ValidParenthesis.java:1–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1class Solution {
2
3 public boolean isOpen(char ch)
4 {
5 switch(ch)
6 {
7 case '(':
8 return true;
9 case '{':
10 return true;
11 case '[':
12 return true;
13 }
14 return false;
15 }
16
17 public boolean isSame(char str, char stk)
18 {
19 if(isOpen(stk))
20 {
21 if(str=='}' && stk=='{') return true;
22 else if(str==')' && stk=='(') return true;
23 else if(str==']' && stk=='[') return true;
24 }
25 return false;
26 }
27
28 public boolean isValid(String s) {
29
30 Stack<Character> stack = new Stack<>();
31 for(int i=0;i<s.length();i++)
32 {
33 if(isOpen(s.charAt(i))) stack.push(s.charAt(i));
34 else
35 {
36 if(stack.isEmpty()) return false;
37
38 if(isOpen(stack.peek()) && isSame(s.charAt(i),stack.peek()))
39 {
40 stack.pop();
41 }
42 else return false;
43 }
44 }
45 return (stack.isEmpty());
46 }
47}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected