给定两个字符串str1和str2,如果俩字符串中 出现的字符种类相同且相应的出现次数也能对上号,则声明为变形词。
分析:
1)简单题,解法:申请一个桶。当字符类型较多时,可以申请哈希表来代替桶的整型数组。
2)为何用桶排序,桶的核心在哪?
不断的装水倒水,短板效应。
代码实现:
public boolean isBianXing(String str1, String str2){
if(str1.length() != str2.length() || str1 == null || str2 ==null){
return false;
}
char[] char1 = str1.toCharArray();
char[] char2 = str2.toCharArray();
int[] map = new int[256];
for(int i = 0; i < char1.length; i++){
map[char1[i]] ++;
}
for(int i = 0; i < char1.length; i++){
map[char2[i]] --;
if(map[char2[i]] < 0){
return false;
}
}
return true;
}