题意:给出两个字符串s1,s2 ,看s1是否可以由s2中的字符组成
具体代码如下:
public class Solution
{
public boolean canConstruct(String ransomNote, String magazine)
{
Map<Character, Integer> m = new HashMap<>();
for (int i = 0; i < magazine.length(); i++) {
if (m.containsKey(magazine.charAt(i))) {
m.put(magazine.charAt(i), m.get(magazine.charAt(i)) + 1);
} else {
m.put(magazine.charAt(i), 1);
}
}
for (int i = 0; i < ransomNote.length(); i++) {
if (m.containsKey(ransomNote.charAt(i))) {
int cnt = m.get(ransomNote.charAt(i));
cnt--;
if (cnt < 0) return false;
m.put(ransomNote.charAt(i), cnt);
} else {
return false;
}
}
return true;
}
}