文字列 str1 を入力として指定します。目的は、入力文字列内の同一文字のペアの間に「*」を挿入し、再帰的メソッドを使用して結果の文字列を返すことです。
入力文字列が str1 = "wellness" の場合、出力は "wel*lnes*s"
#Input - str1 = "happiness"
Output - * を追加した後の文字列: hap*pines*s
説明 - pp と ss の間に * を追加すると、結果の文字列 hap*pines*s
##Input- str1 = ”swimmingggg pooool”
出力- *を追加した後の文字列: swim*m*m*ming*g*g*g po*o*o*ol
説明- mm、gg、oo の間に * を追加すると、文字列 swim*m*m*ming*g*g*g po*o*o*olで使用されるメソッド次のプログラムは次のとおりです。
#include <iostream> using namespace std; void addStar(string& s1, int i, int len1){ string tmp1=s1.substr(0,i); string tmp2=s1.substr(i,len1+1); if (tmp2.length() == 0){ return; } if (tmp1[i-1] == tmp2[0]){ s1 = tmp1 + '*' + tmp2; } addStar(s1, i+1, len1); } int main(){ string str1 = "aabbcccdddd"; int len=str1.length(); addStar(str1, 0, len-1); cout << "String after adding * : "<<str1 << endl; return 0; }
String after adding * : a*ab*bc*c*cd*d*d*d
以上がC++ の同一文字のペアの間にアスタリスクを挿入する再帰プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。