本篇博客会讲解力扣“1295. 统计位数为偶数的数字”的解题思路,这是题目链接。
统计位数是偶数的数据个数,关键在于如何统计一个整数的位数。方法是:对于一个整数n,每次/10,都会缩小一位,所以一直进行/10操作,直到n变为0即可。也就是说,统计n的位数len的代码是:
int len = 0;
while (n)
{++len;n /= 10;
}
本题的完整代码如下:
int findNumbers(int* nums, int numsSize){int ret = 0;for (int i = 0; i < numsSize; ++i){int n = nums[i];// 统计n的长度int len = 0;while (n){++len;n /= 10;}// 统计偶数位数数据个数if (len % 2 == 0){++ret;}}return ret;
}
总结
统计一个整数位数的方法:反复/10,直到变成0位置,进行了几次/10操作,位数就是几。
感谢大家的阅读!