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;
}
}
|