解法一:哈希表计数
使用数组模拟哈希表进行每个数字的计数,再从前往后遍历num的每个字符,统计iii出现的次数是否为num[i]num[i]num[i]次。
- 时间复杂度:O(n)O(n)O(n)
- 空间复杂度:O(n)O(n)O(n)
class Solution {
public boolean digitCount(String num) {
int[] mp = new int[10];
for (char c : num.toCharArray()) mp[c - '0']++;
for (int i = 0; i < num.length(); i++) if (mp[i] != num.charAt(i) - '0') return false;
return true;
}
}
class Solution {
public:
bool digitCount(string num) {
vector<int> mp(10, 0);
for (char c : num) mp[c - '0']++;
for (int i = 0; i < num.length(); i++) if (mp[i] != num[i] - '0') return false;
return true;
}
};
如果有问题,欢迎评论区交流, 如果有帮助到你,请给题解点个赞和收藏哈~~~