需要: 例如一个字符串是 “AASG” 需要计算出 各个位置上的大小写所有的可能性
AASG
AaSG
aaSG
AAsG
aAsG
AasG
aasG
AASg
aASg
AaSg
aaSg
AAsg
aAsg
Aasg
aasg
以下是C# 实现代码
static void Print(string str) {
List<string> List = new List<string>();
List.Add(str);
List<string> ListTemp = new List<string>();
ListTemp = Get(List, str.Length - 1);
for (int i = 0; i < ListTemp.Count; i++)
{
Console.WriteLine(ListTemp[i]);
}
}
static List<string> Get(List<string> List, int tag)
{
List<string> result = new List<string>();
for (int i = 0; i < List.Count; i++)
{
result.Add(List[i].Substring(0, tag) + List[i].Substring(tag, 1).ToUpper() + List[i].Substring(tag + 1, List[i].Length - tag - 1));
result.Add(List[i].Substring(0, tag) + List[i].Substring(tag, 1).ToLower() + List[i].Substring(tag + 1, List[i].Length - tag - 1));
}
if (tag == 0)
return result;
tag--;
return Get(result, tag);
}