Leetcode Valid Parentheses problem solution in C# programming

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,

By Neha Singhal

Hi, my name is Neha singhal a software engineer and coder by profession. I like to solve coding problems that give me the power to write posts for this site.

Leave a Reply

Your email address will not be published. Required fields are marked *