int cnt = 0;
cnt += (((i & 1) << 1) - 1) * (str[i] - '0');
這是希望別人看懂呢? 還是不希望別人看懂呢?
就是要玩個位運算...我喜歡XD
在你的程式架構下,我也來弄個難懂的const int L = str.length()int cnt = (L>>1) - ((L&1)?48:0);for(int i=0; i<L; i++) cnt += -(i&1) ^ str[i];