在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

结论

以上是 在C ++中执行给定操作后的最终字符串 的全部内容, 来源链接: utcz.com/z/356021.html

回到顶部