LeetCode Day8【数据结构】 383 Ransom Note赎金信法一法二 383 Ransom Note赎金信 题目 法一 class Solution { public boolean canConstruct(String ransomNote, String magazine) { //记录杂志字符串出现的次数 int[] arr = new int[26]; int temp; for (int i = 0; i < magazine.length(); i++) { temp = magazine.charAt(i) - 'a'; arr[temp]++; } for (int i = 0; i < ransomNote.length(); i++) { temp = ransomNote.charAt(i) - 'a'; //对于金信中的每一个字符都在数组中查找 //找到相应位减一,否则找不到返回false if (arr[temp] > 0) { arr[temp]--; } else { return false; } } return true; } } 法二 class Solution { public boolean canConstruct(String a, String b) { int[] cnt = new int[26]; for (char c : b.toCharArray()) cnt[c - 'a']++; for (char c : a.toCharArray()) if (--cnt[c - 'a'] < 0) return false; return true; } }