https://leetcode.cn/problems/valid-anagram/
题目要求
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
字符数组
- da
public boolean isAnagram(String s, String t) {
int[] word = new int[26];
int n = s.length();
for (int i = 0; i < n; i++) {
word[s.charAt(i) - 'a']++;
}
int m = t.length();
for (int i = 0; i < m; i++) {
word[t.charAt(i) - 'a']--;
}
for (int i : word) {
if (i != 0) return false;
}
return true;
}
思路
- 定义一个数组,来记录字符串里字符出现的次数。首先遍历
s
,出现的字符每次加一,在遍历字符串t
,出现的字符每次减一,如果s
和t
为异位词,最后的字符数组每个下标应该都为1。