先記錄所有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;
}