给定两个字符串 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 * 104s和t仅包含小写字母
进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
解题思路: 字母a的ASCII码对应97 -97 第一个字符串 从0--25递增26个字母出现的次数 第二个字符串 从0--25递减26个字母出现的次数
class Solution {
public boolean isAnagram(String s, String t) {
if(s == null || t== null || s.length()!= t.length()){
return false;
}
int [] letters = new int[26];
for (int i = 0; i < s.length(); i++) {
letters[s.charAt(i)-'a']++;
}
for (int i = 0; i < t.length(); i++) {
letters[t.charAt(i)-'a']--;
}
for (int i = 0; i < 26; i++) {
if(letters[i] !=0){
return false;
}
}
return true;
}
}