classSolution {
publicint[]evenOddBit(int n) {
int even = 0, odd = 0, i = 0;
while (n > 0) {
if ((n & 1) == 1) {
if (i % 2 == 0) even++;
else odd++;
}
n >>= 1; i++;
}
returnnewint[]{even, odd};
}
}
1
2
3
4
5
6
7
8
9
10
11
12
classSolution {
funevenOddBit(n: Int): IntArray {
var even = 0; var odd = 0; var i = 0; var nn = n
while (nn > 0) {
if (nn and 1==1) {
if (i % 2==0) even++else odd++ }
nn = nn shr 1; i++ }
return intArrayOf(even, odd)
}
}
1
2
3
4
5
6
7
8
9
10
11
classSolution:
defevenOddBit(self, n: int) -> list[int]:
even, odd, i =0, 0, 0while n:
if n &1:
if i %2==0:
even +=1else:
odd +=1 n >>=1; i +=1return [even, odd]
1
2
3
4
5
6
7
8
9
10
11
12
impl Solution {
pubfneven_odd_bit(n: i32) -> Vec<i32> {
let (mut even, mut odd, mut i, mut nn) = (0, 0, 0, n);
while nn >0 {
if nn &1==1 {
if i %2==0 { even +=1; } else { odd +=1; }
}
nn >>=1; i +=1;
}
vec![even, odd]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
classSolution {
evenOddBit(n: number):number[] {
leteven=0, odd=0, i=0;
while (n>0) {
if (n&1) {
if (i%2===0) even++;
elseodd++;
}
n>>=1; i++;
}
return [even, odd];
}
}