// 2180. Count Integers With Even Digit Sum
class Solution {
public int countEven(int num) {
int ans = 0;
for (int i = 1; i <= num; ++i) {
if (isEvenDigitsSum(i)) {
++ans;
}
}
return ans;
}
private boolean isEvenDigitsSum(int n) {
int oddEven = 0;
while (n > 0) {
if (n % 10 % 2 == 1) ++oddEven;
n /= 10;
}
return oddEven % 2 == 0;
}
}
学习笔记: 困难题之后果然又是一道简单题。 今天的题目就是统计奇数偶数的位数相关的。 转成String来做也是比较合理的,用%和/组合运算也是更高效的算法。