Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static IEnumerable<string> Combinations(string s, Dictionary<char, char> replacements)
- {
- return Combinations(s, replacements, 0, string.Empty);
- }
- private static IEnumerable<string> Combinations(string original, Dictionary<char, char> replacements, int index, string current)
- {
- if (index == original.Length) yield return current;
- else
- {
- foreach (var item in Combinations(original, replacements, index + 1, current + original[index]))
- yield return item;
- if (replacements.ContainsKey(original[index]))
- foreach (var item in Combinations(original, replacements, index + 1, current + replacements[original[index]]))
- yield return item;
- }
- }
- Dictionary<char, char> dict = new Dictionary<char,char>();
- dict['1'] = 'I';
- dict['3'] = 'B';
- dict['A'] = 'H';
- dict['O'] = '0';
- dict['0'] = 'O';
- var combs = Combinations("ABC123", dict);
Add Comment
Please, Sign In to add comment