In this article, we will discuss how to remove elements between two zeros from a given string that contains only 0 and 1 characters. The final string should not contain any '1' characters surrounded by 0's. For example-
Input : string = “110010” Output : “11000” Explanation: 1 is found between two zeros at the 4th index. Input : string = “0010” Output : “000” Explanation : 1 is found between two zeros at the 2nd index.
We can apply a simple approach, i.e., traverse the string using a loop and check the previous and next elements whether they are zeros; if yes, then that index is not zero. After that, update the variable with a new length that stores length and print that string.
#include <bits/stdc++.h> using namespace std; int main () { string str = "110010"; int length = str.length(); for (int i = 1; i < length - 1; i++) { // checking the element between two zeros if ((str.at (i - 1) == '0' && str.at (i + 1) == '0')) { // deleting the element // if it is found between two 0's str.erase (i, 1); i--; if (i > 0 && str.at (i - 1) == '0') i--; // updating the length of the string after removing the element. length = str.length (); } } cout << "String after removing elements between the two zeros: " << str; return 0; }
String after removing elements between the two zeros: 1100
In this article, we discussed removing elements between two zeros from a string containing '0' and '1' characters. We also saw a C program that solves the same problem; we can write this program in other languages such as C, Java, Python, etc. Hope you found this article helpful.
The above is the detailed content of Remove elements between two zeros using C++. For more information, please follow other related articles on the PHP Chinese website!