掘金团队号上线,助你 Offer 临门! 点击 查看详情
一、题目描述:
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram"
输出: true
示例 2:
输入: s = "rat", t = "car"
输出: false
说明: 你可以假设字符串只包含小写字母。
二、思路分析:
- 先将两个字符串分割成数据然后进行排序
- 如果长度不相等,直接返回false,如果长度相等,再通过遍历去查找,一旦s有t中没有的元素,就返回false
三、AC 代码:
var isAnagram = function(s, t) {
let sArr = s.split('').sort()
let tArr = t.split('').sort()
let isAnagramFlag = true
if(sArr.length===tArr.length){
sArr.forEach((item,index)=>{
if(item !== tArr[index]){
isAnagramFlag = false
}
})
}else{
isAnagramFlag = false
}
return isAnagramFlag
};
四、总结:
官方解答:
var isAnagram = function(s, t) {
return s.length == t.length && [...s].sort().join('') === [...t].sort().join('')
};
这道题的关键将字符串转换成数组排序后再比较
本文正在参与掘金团队号上线活动,点击 查看大厂春招职位