🚀题目
leetcode原题链接
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram” 输出: true 示例 2:
输入: s = “rat”, t = “car” 输出: false
提示:
1 <= s.length, t.length <= 5 * 104 s 和 t 仅包含小写字母
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-anagram 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
💥leetcode代码模板
var isAnagram = function(s, t) {
};
🚀思路
直接统计两个字符串的字符出现个数,判断是否相等即可。
因为两个字符串仅包含小写字母,故我们可以使用一个长度为26的数组来统计字符出现个数,下标0位置对应字母'a' 。数组的每一项初始化为0.
遍历两个字符串,字符串s中的字母对应数量加一,字符串t中的字母对应数量减一,当遍历完成后,遍历一下哈希数组,看看是否全为0,如果全为0返回true,否则返回false
💻代码
var isAnagram = function(s, t) {
if(s.length !== t.length) return false
let hashTable = (new Array(26)).fill(0)
let base = 'a'.charCodeAt()
for(let i = 0 ; i < s.length ; i++){
hashTable[s[i].charCodeAt() - base]++
hashTable[t[i].charCodeAt() - base]--
}
return hashTable.every(item => item === 0)
};
?
我
是
c
o
n
e
r
,
请
别
关
注
我
的
专
栏
,
本
系
列
文
章
为
个
人
刷
题
记
录
(
偷
偷
自
己
卷
🤤
)
:
\textcolor{green}{我是coner,请别关注我的专栏,本系列文章为个人刷题记录(偷偷自己卷🤤):}
我是coner,请别关注我的专栏,本系列文章为个人刷题记录(偷偷自己卷🤤):leetcode题解js
?
每
天
早
上
更
新
3
道
l
e
e
t
c
o
d
e
题
目
的
j
s
题
解
🚀
🚀
🚀
\textcolor{green}{每天早上更新3道leetcode题目的js题解🚀🚀🚀}
每天早上更新3道leetcode题目的js题解🚀🚀🚀
|