この記事では、0 と 1 の文字のみを含む指定された文字列から 2 つのゼロの間の要素を削除する方法について説明します。最後の文字列には、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.
単純なアプローチを適用できます。つまり、ループを使用して文字列を走査し、前後の要素がゼロであるかどうかを確認し、ゼロである場合は、の場合、そのインデックスはゼロではありません。その後、長さを格納する新しい長さで変数を更新し、その文字列を出力します。
#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
この記事では、「0」と「1」の文字を含む文字列から 2 つのゼロの間の要素を削除する方法について説明しました。同じ問題を解決する C プログラムも確認しました。このプログラムは、C、Java、Python などの他の言語で作成できます。この記事がお役に立てば幸いです。
以上がC++ を使用して 2 つのゼロ間の要素を削除するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。