使用ASCII查找有效的变位图



为什么这个解决方案不能找到有效的变位?

26/36个测试用例在LeetCode中通过。

class Solution {
public boolean isAnagram(String s, String t) {

int sASCII = 0, tASCII = 0;

if(s.length() != t.length()) {return false;}
else{
for(int i = 0 ; i < s.length(); i++){


sASCII += (int)s.charAt(i);
tASCII += (int)t.charAt(i);


}
}
if(sASCII == tASCII){
return true;
}
return false;
}
}

tASCII和sASCII的和可以相等,即使数字不是字谜。假设你可以通过60+40得到数字100,但你也可以通过70+30得到它,所以我建议使用HashMap来记录每个字母的出现,或者将字符串排序为字符数组,然后比较它们。

最新更新