在本文中,我們將討論如何從一個只包含0和1字元的給定字串中刪除兩個零之間的元素。最終的字串不應包含任何被0包圍的字元'1'。例如-
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, previous and next elements whether they are zeros; if yes, previous and next elements whether they are zeros; if yes, previous and next elements whether they are zeros; if yes, previous and next elements whether they are zeros; if yes, previous and next elements whether they are zeros; if yes, previous and next elements whether they are zeros; if yes, previous and next elements whether they are zeros; 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
以上是使用C++移除兩個零之間的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!