先记录所有1的个数,然后通过,对每一个0的,判断是否和后面的1相等即可
#include<iostream>
#include<string>
#include<string.h>
using namespace std;
char a[10000010];
int main(){
gets(a);
int s=0; //s为1的 个数
int sum=0;
for(int i=0;i<strlen(a);i++) if(a[i]=='1') s++;
if(s==0) sum=0;
int q=0;
for(int i=0;i<strlen(a);i++){
if(a[i]=='0') q++;
if(q==s-(i+1-q))//如果前i个的0的个数 等于后i个1的个数,并记录当前的k的下标
sum=i+1;
}
cout<<sum<<endl;
return 0;
}