0

我的列表L包含可变数量的字符串 {123} {/-+} {ABCD} ...我想构建一个递归函数来获取这些字符串字符的所有可能组合,因此上面的示例将产生:

1/A
1/B
1/B
1/D
1-A
1-B
..
3+D
4

2 回答 2

0

如果您有三个单独的集合,则可以使用 LINQ 来获取笛卡尔积,例如

from a in symbols
from b in numbers
from c in letters
select a + b + c
于 2013-06-06T18:41:25.697 回答
0
    Module Module1

        Dim data As String() = {"123", "/-+", "abcd"}
        Dim charStack As New Stack(Of Char)

        Sub Main()
            visitString(0)
        End Sub

        Sub visitString(ByVal i As Integer)
            For j = 0 To data(i).Length - 1
                charStack.Push(data(i)(j))

                If i = data.Length - 1 Then
                    Dim q = String.Join("", charStack.Reverse)
                    Console.WriteLine(q)
                    Console.ReadKey()

                Else
                    visitString(i + 1)
                End If

                charStack.Pop()
            Next
        End Sub

    End Module
于 2013-06-06T19:04:36.940 回答