How to check if a string contains only valid parentheses (open close same type (), {}, []) in VB.NET

1 Answer

0 votes
Imports System
Imports System.Collections.Generic

Public Class Program
    Private Shared Function string_contains_valid_parentheses(ByVal s As String) As Boolean
        Dim stack As Stack(Of Char) = New Stack(Of Char)()

        For Each ch As Char In s
            If ch = "("c Then
                stack.Push(")"c)
            ElseIf ch = "{"c Then
                stack.Push("}"c)
            ElseIf ch = "["c Then
                stack.Push("]"c)
            ElseIf stack.Count = 0 OrElse stack.Pop() <> ch Then
                Return False
            End If
        Next

        Return stack.Count = 0
    End Function

    Public Shared Sub Main(ByVal args As String())
        Console.WriteLine(string_contains_valid_parentheses("(){}[]()(){}"))
    End Sub
End Class



' run:
'
' True
'

 



answered Mar 10, 2024 by avibootz
...