概要
哈希表保存字符数量,然后比较。
题目
给出两个字符串 s 和 t ,编写个函数来判断它们是否是一组变位词(字母异位词)。
注意:若 s 和 t 每个字符出现的次数相同,字符顺序不完全相同,称为 s 和 t 相互变位词(字母异位词)。
链接:https://leetcode.cn/problems/dKk3P7
思路
判断两个字符串是否相等,相等返回false。
遍历两个字符串,统计每个字符出现的次数,然后比较是否相等。
解决方案:用26长的数组作为哈希表保存每个字符的数量
代码
public boolean isAnagram(String s, String t) {
if (s.equals(t)) {
return false; } int[] sArray = new int[26]; int[] tArray = new int[26]; for (char c : s.toCharArray()) {
sArray[c - 'a'] ; } for (char c : t.toCharArray()) {
tArray[c - 'a'] ; } for (int i = 0; i < 26; i ) {
if (sArray[i] != tArray[i]) {
return
false
;
}
}
return
true
;
}