题目名称

给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

示例

输入: s1 = “abc”, s2 = “bca”
输出: true

题解

答案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* @param {string} s1
* @param {string} s2
* @return {boolean}
*/
var CheckPermutation = function(s1, s2) {
if(s1.length !== s2.length) { return false}
const hash = {}
for(let i = 0; i < s1.length; i++) {
let item1 = s1[i], item2 = s2[i]
if(!hash[item1]) hash[item1] = 0
hash[item1]++
if(!hash[item2]) hash[item2] = 0
hash[item2]--
}
return Object.keys(hash).every(item => hash[item] === 0)
};