给定一个只包含0或1的字符串,当字符0和字符1相邻的时候,可以消除这两个字符,直到没有相邻的01字符为止。求字符串的最短长度是多少?
输入:
第一行是字符串长度 n
第二行是 字符串。
输出:
一个整数。
示例:
输入
4
1100
输出
0
思路:01相碰就消除,所以最后只能是全0或全1,即是01字符数的差值。
#include<iostream>
#include<string>
#include<cmath>
#include <bits/stdc++.h>#万能头文件
using namespace std;
int main(){
int n, num0 = 0,num1 = 0;;
string t;
cin >> n;
cin >> t;
for(int i= 0; i<n ; i++){
if(t[i]=='0') num0++;
else num1++;
}
cout <<abs(num0-num1)<<endl;
return 0;
}