567. 字符串的排列
查看原题
解题思路
- 先求出s1里面各个字符的个数存储到数组arr1中
- 再遍历数组s2注意结束条件是
let i = 0;i<=s2.length - s1.length;i++
,当个数少于s2.length - s1.length
不会再有结果 - 统计s2中每个s1.length长度区间的各个字符的个数,与s1中的比较,如果元素个数都一样则符合条件返回true
- 直接返回false,说明前面没有符合条件的
代码
/**
* @param {string} s1
* @param {string} s2
* @return {boolean}
*/
var checkInclusion = function(s1, s2) {
let arr1 = new Array(26).fill(0);
for (const item of s1){
arr1[item.charCodeAt() - 97]++;
}
for(let i = 0;i<=s2.length - s1.length;i++){
let arr2 = new Array(26).fill(0);
for(let j = 0;j