可能重复:
如何为给定字符串键入集合
我正在尝试键入字符串的排列,例如字符串“123”应该给我 123 132 213 231 321 312 我需要帮助来修复我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestAAD
{
class Program
{
static int len = 0;
static int lenPerm = 0;
private static void Permutations(string str, string perm , int i)
{
if (i == len) Console.WriteLine(perm);
for (int k = 0; k < len; k++)
{
lenPerm = perm.Length;
for (int j = 0; j < lenPerm; j++)
{
if ((perm[j] == str[(len - 1) - k]) && (len-1-k>0))
k++;
}
if((len-1-k) >=0)
Permutations(str, perm + str[(len - 1) - k], i++);
}
}
static void Main(string[] args)
{
string st = "123";
len = st.Length;
Permutations(st, "",0);
}
}
}
如果有人可以帮助我,请谢谢大家