- 给你一个下标从 0 开始长度为 n 的字符串 num ,它只包含数字。
如果对于 每个 0 <= i < n 的下标 i ,都满足数位 i 在 num 中出现了 num[i]次,那么请你返回 true ,否则返回 false 。
来源:力扣(LeetCode) 链接:leetcode.cn/problems/ch… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路 首先统计num各种数字出现的次数
/**
* @param {string} num
* @return {boolean}
*/
var digitCount = function(num) {
let numToArr = num.toString().split('')
let n = numToArr.length
let map = new Map()
for(let i = 0; i < n; i++) {
let cur = numToArr[i]
map.set(cur, map.get(cur) ? map.get(cur) + 1 : 1)
}
for(let i = 0; i < n; i++) {
let compVal = map.get(i.toString()) || '0'
if(compVal != numToArr[i]) {
return false
}
}
return true
};