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

1 Answer

0 votes
#include <iostream> 
#include <queue>

void generate_all_possible_binary_strings(std::string str) {
    std::queue<std::string> q; 
  
    q.push(str); 
  
    while (!q.empty()) { 
        std::string temp = q.front(); 
        size_t index = temp.find('?'); 
        
        if (index != std::string::npos) { 
            temp[index] = '0'; 
            q.push(temp); 
            temp[index] = '1'; 
            q.push(temp); 
        } 
        else {
            std::cout << temp << "\n"; 
        }
        
        q.pop(); 
    }
}

int main() {
    std::string str = "1?0?1";
  
    generate_all_possible_binary_strings(str);
} 





/*
run:

10001
10011
11001
11011

*/

 



answered Aug 23, 2023 by avibootz
...