242. 有效的字母异位词
解题思路: 新建一个数组arr 用来记录字符串中字符出现的次数 把字符映射到数组也就是哈希表的索引下标上 字符a 映射下标为0 , z 映射下标为25 如果字符串s 中出现字符c , 则+1 如果字符串t 中出现字符c , 则-1 如果arr 中有 等于 0 的元素, 说明s 和t 中所有字符相等 如果arr 中有 不等于 0 的元素, 说明s 和t 中就有字符不相等
class Solution {
public boolean isAnagram(String s, String t) {
int[] arr = new int[26];
for(char c : s.toCharArray()){
arr[c - 'a'] += 1;
}
for(char c : t.toCharArray()){
arr[c - 'a'] -= 1;
}
for(int i : arr){
if(i != 0){
return false;
}
}
return true;
}
}
383. 赎金信
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int[] arr = new int[26];
for(char c : magazine.toCharArray()){
arr[c - 'a'] += 1;
}
for(char c : ransomNote.toCharArray()){
arr[c - 'a'] -= 1;
if(arr[c - 'a'] < 0){
return false;
}
}
return true;
}
}
|