在 C++ 中检查字符串是否遵循 anbn 模式
假设,我们有一个字符串,它只由两个字母a和b组成。我们必须找出字符串是否为anbn形式,或者换句话说,它包含n个a和n个b。如果为真,我们返回1,否则返回0。
因此,如果输入类似于“aaaaaaaaaaaabbbbbbbbbbbb”,那么输出将为真。
示例(C++)
让我们看看以下实现以获得更好的理解-
#includeusing namespace std; bool solve(string input_string) { int length = input_string.length(); int i; for (i = 0; i < length; i++) if (input_string[i] != 'a') break; if (i * 2 != length) return false; for (int j = i; j < length; j++) if (input_string[j] != 'b') return false; return true; } int main() { string input_string = "aaaaaaaaaaaabbbbbbbbbbbb"; cout << solve(input_string)<< endl; return 0; }
输入
"aaaaaaaaaaaabbbbbbbbbbbb"输出结果
1