//其他地方没变,仅变动判定方法,前者40分,后者80分 bool count(int num) { return (num & (num - 1)) == 0; } bool count(int num) { int cnt = 0; while (num) { if (num & 1)cnt++; num >>= 1; } return cnt==1; }