在C ++中执行给定操作后的最终字符串

在本教程中,我们将解决以下问题。

给定仅包含字符a和b的字符串,我们的任务是从字符串中删除子字符串ab。并打印剩余的字符串。

在这里,这个想法很容易解决。每个只有a和b的字符串最后都会缩小为a或b。

让我们看看解决问题的步骤。

  • 初始化字符串。

  • 为a和b初始化两个计数器变量。

  • 遍历给定的字符串。

    • 数a和b

  • 从a和b频率中找到最大值。

  • 打印两者之间的差异。

示例

让我们看一下代码。

#include <bits/stdc++.h>
using namespace std;
string getTheUpdatedString(string str) {
   int n = str.length();
   int a_count = 0, b_count = 0;
   for (int i = 0; i < n; i++) {
      if (str[i] == 'a') {
         a_count++;
      }
      else {
         b_count++;
      }
   }
   string updated_string = "";
   if (a_count > b_count) {
      for (int i = 0; i < a_count - b_count; i++) {
         updated_string += "a";
      }
   }
   else {
      for (int i = 0; i < b_count - a_count; i++) {
         updated_string += "b";
      }
   }
   return updated_string;
}
int main() {
   string str = "ababababaaa";
   cout << getTheUpdatedString(str) << endl;
}
输出结果

如果运行上面的代码,则将得到以下结果。

aaa

结论