-
Notifications
You must be signed in to change notification settings - Fork 0
/
BalancedParentheses_Matching.java
67 lines (67 loc) · 1.19 KB
/
BalancedParentheses_Matching.java
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package rank;
import java.util.*;
public class BalancedParentheses_Matching
{
public static void main(String args[])
{
BalancedParentheses_Matching b=new BalancedParentheses_Matching();
Scanner sc=new Scanner(System.in);
System.out.println(" Enter The String - ");
String s=sc.next();
boolean bb=b.CheckParentheses(s);
if(bb==true)
{
System.out.println(" Balanced ");
}
else
{
System.out.println(" Not Balanced ");
}
}
public boolean CheckParentheses(String s)
{
Stack<Character> st=new Stack<Character>();
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)=='{' || s.charAt(i)=='[' || s.charAt(i)=='(')
{
st.push(s.charAt(i));
}
if(st.isEmpty())
{
return false;
}
switch(s.charAt(i))
{
case ')':
{
if(st.peek()=='{' || st.peek()=='[')
{
return false;
}
st.pop();
break;
}
case '}':
{
if(st.peek()=='(' || st.peek()=='[')
{
return false;
}
st.pop();
break;
}
case ']':
{
if(st.peek()=='{' || st.peek()=='(')
{
return false;
}
st.pop();
break;
}
}
}
return st.isEmpty();
}
}