using System.Collections.Generic;
static Boolean Matching(char character1,char character2)
if(character1 == '(' && character2 == ')')
else if(character1 == '{' && character2 == '}')
}else if(character1 == '{' && character2 == '}')
static Boolean Bracket(char[] exp)
Stack<char> st = new Stack<char>();
for (int i = 0; i < exp.Length; i++)
if (exp[i] == '{' || exp[i] == '(' || exp[i] == '[')
if(exp[i] == ')' || exp[i] == '}' || exp[i] == ']')
}else if (!Matching(st.Pop(), exp[i]))
public void Main(string[] args)
char[] a = {'{','(',')','}'};
char[] b = {'{','(','}'};
char[] c = { '[','(',')','(',')',']'};
Console.WriteLine("{()} : IS correct string");
Console.WriteLine("{(} : Not correct string");
Console.WriteLine("[()()] : IS correct string");