Problem: https://leetcode.com/problems/ransom-note/
Solution:
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
HashMap<Character, Integer> count = new HashMap<Character, Integer>();
for (int i = 0; i < magazine.length(); i++) {
count.put(magazine.charAt(i), count.getOrDefault(magazine.charAt(i),0) + 1);
}
if (ransomNote.length() == 0) {
return true;
} else {
for (int i = 0; i < ransomNote.length(); i++) {
if (!count.containsKey(ransomNote.charAt(i))) {
return false;
} else {
count.put(ransomNote.charAt(i), count.get(ransomNote.charAt(i)) -1);
if (count.get(ransomNote.charAt(i)) == -1) {
return false;
}
}
}
}
return true;
}
}
本文提供了一种使用HashMap解决LeetCode赎金信问题的方法。通过遍历杂志字符串统计字符频率,并检查这些字符是否足以构成赎金信所需的字符。
174

被折叠的 条评论
为什么被折叠?



