用哈希表保存每个字母出现的次数,如果相同字母出现的次数相同,则返回true,否则返回false。
public class Solution {
public boolean isAnagram(String s, String t) {
HashMap<Character,Integer> arr=new HashMap<Character,Integer>();
HashMap<Character,Integer> brr=new HashMap<Character,Integer>();
for(int i=0;i<s.length();i++)
{
if(!arr.containsKey(s.charAt(i)))
arr.put(s.charAt(i),1);
else
{
int temp=arr.get(s.charAt(i));
arr.put(s.charAt(i), temp+1);
}
}
for(int j=0;j<t.length();j++)
{
if(!brr.containsKey(t.charAt(j)))
brr.put(t.charAt(j),1);
else
{
int temp=brr.get(t.charAt(j));
brr.put(t.charAt(j), temp+1);
}
}
if((s.length()==t.length()))
{
for(int k=0;k<s.length();k++)
{
char c=s.charAt(k);
int av=arr.get(c);
int bv=0;
if(brr.containsKey(c))
bv=brr.get(c);
else
return false;
if(av!=bv)
return false;
}
}
else
return false;
return true;
}
}