给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。
分两步,先求出数的位数,再判断位数是否为偶数。第一步可以用除10的方式统计出来,也可以转化为字符串,直接看字符串的长度;第二步可以对2取余进行判断,也可以用位运算,与1相与。
class Solution { public: int findNumbers(vector<int>& nums) { int res = 0; for (int num : nums) { int len = 0; if (!num) { len = 1; } while(num) { num /= 10; len ++; } if (!(len & 1)) { res ++; } } return res; } };
class Solution { public: int findNumbers(vector<int>& nums) { int res = 0; for (int num : nums) { if (!(to_string(num).size() & 1)) { res ++; } } return res; } };