Imports System
Imports System.Collections.Generic
Public Class Program
Public Shared Sub generate_all_possible_binary_strings(ByVal str As String)
Dim q = New List(Of String)()
q.Add(str)
While q.Count > 0
Dim temp As String = q(0)
Dim index As Integer = temp.IndexOf("?"c)
If index <> -1 Then
temp = temp.Substring(0, index) & "0"c & temp.Substring(index + 1)
q.Add(temp)
temp = temp.Substring(0, index) & "1"c & temp.Substring(index + 1)
q.Add(temp)
Else
Console.WriteLine(temp)
End If
q.RemoveAt(0)
End While
End Sub
Public Shared Sub Main(ByVal args As String())
Dim str As String = "1?0?1"
generate_all_possible_binary_strings(str)
End Sub
End Class
' run:
'
' 10001
' 10011
' 11001
' 11011
'