In the Leetcode Valid Parentheses problem solution in C# programming Given a string s containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘ and ‘]’, determine if the input string is valid.
An input string is valid if:
Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
Every close bracket has a corresponding open bracket of the same type.
Leetcode Valid Parentheses problem solution in C# programming
public class Solution {
private static readonly Dictionary<char, char> bracketMap = new();
private readonly Stack<char> closingStack = new();
static Solution()
{
bracketMap.Add('(', ')');
bracketMap.Add('[', ']');
bracketMap.Add('{', '}');
}
public bool IsValid(string s)
{
closingStack.Clear();
foreach (char c in s)
{
if (bracketMap.ContainsKey(c))
{
closingStack.Push(bracketMap[c]);
}
else if (closingStack.Count == 0 || c != closingStack.Pop())
{
return false;
}
}
return closingStack.Count == 0;
}
}
Also read,
- Leetcode Valid Parentheses problem solution in C++
- Leetcode Valid Parentheses problem solution in Java
- Leetcode Valid Parentheses problem solution in Python
- Leetcode Valid Parentheses problem solution in C