所以这两个字符串是匹配的。要求高效!
private boolean match(String a, String b){
Map<Byte, Integer> map = new HashMap<Byte, Integer>();
byte[] ba = a.getBytes();
byte[] bb = b.getBytes();
if (ba.length != bb.length)
{
return false;
} else {
int l = ba.length;
for (int i=0; i<l; i++)
{
if (map.get(ba[i]) == null)
{
map.put(ba[i], 1);
} else {
map.put(ba[i], map.get(ba[i])+1);
}
}
for (int j=0; j<l; j++)
{
if (map.get(bb[j]) == null)
{
return false;
} else {
int numOfBbj = map.get(bb[j])-1;
if (numOfBbj == 0)
{
map.remove(bb[j]);
} else {
map.put(bb[j], numOfBbj);
}
}
}
if (map.size() == 0)
{
return true;
}
}
return false;
}