问题描述
在一个只有字母'a'和'b'组成的字符串中,统计子串"ab"和"ba"出现次数的差。
输入格式
有多组测试数据。
每组测试数据第一行是一个正整数N,表示字符串长度,接下来一行是长度为N的字符串,字符串中只有字母'a'和'b'。
N=0表示输入结束,并且不需要处理。
40%的数列元素个数N 1 ≤ N≤ 100;
30%的数列元素个数N 1 ≤ N≤ 1000;
20%的数列元素个数N 1 ≤ N≤ 10000;
10%的数列元素个数N 1 ≤ N≤ 100000;
输出格式
对于每组测试数据,输出一个整数:"ab"和"ba"出现次数的差。
样例输入
7 aaaaaaa 4 abab 0
样例输出
0 1
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, ab, ba;
string s;
while (cin >> n)
{
if (!n) return 0;
else
{
ab = ba = 0;
cin >> s;
for (int i = 0; i < n-1; i++)
{
if (s[i] == 'a' && s[i+1] == 'b') ab++;
if (s[i] == 'b' && s[i+1] == 'a') ba++;
}
cout << ab-ba << endl;
}
}
}