Mid Coding

Check if a string has balanced brackets?

public bool IsBalanced(string s) {

Stack<char> stack = new Stack<char>();

Dictionary<char, char> pairs = new Dictionary<char, char> {

{')', '('}, {']', '['}, {'}', '{'}

foreach (char c in s) {

if ("([{".Contains(c))

stack.Push(c);

else if (")]}".Contains(c)) {

if (stack.Count == 0 || stack.Pop() != pairs[c])

return false;

return stack.Count == 0;

Follow on:

Explanation:

Use a stack to match opening and closing brackets properly.

More from C# Programming Tutorial

All questions for this course