using System.Collections.Generic;
public static void Main()
foreach (var s in new[] {"abc(abc)", ")abc(abc)", "a(bc(abc))", "a(bc(abc)" })
Console.WriteLine(string.Format("{0} = {1}", s, ValidateBrackets(s)));
public static bool ValidateBrackets(string input)
var parentheses = new Stack<char>();
foreach (char chr in input)
if (parentheses.Count == 0)
if (parentheses.Pop() != '(')
return parentheses.Count == 0;