How to generate all possible binary strings by replacing ? from a given pattern in C#

1 Answer

0 votes
using System;
using System.Collections.Generic;

public class Program
{
	private static void generate_all_possible_binary_strings(string str) {
		var q = new List<string>();
		q.Add(str);

		 while (q.Count > 0) {
            string temp = q[0];

			int index = temp.IndexOf('?');
			if (index != -1) {
				temp = temp.Substring(0,index) + '0' + temp.Substring(index + 1);
				q.Add(temp);

				temp = temp.Substring(0,index) + '1' + temp.Substring(index + 1);
				q.Add(temp);
			} 
			else {
				Console.WriteLine(temp);
			}
			q.RemoveAt(0);
		}
	}
	public static void Main(string[] args)
	{
		string str = "1?0?1";

		generate_all_possible_binary_strings(str);
	}
}





/*
run:

10001
10011
11001
11011

*/

 



answered Aug 24, 2023 by avibootz
...