问题描述:
写出一个函数 anagram(s, t)
去判断两个字符串是否是颠倒字母顺序构成的
样例:给出 s=
"abcd"
,t=
"dcab"
,返回
true
算法思想:
public static boolean anagram(String s,String t){
boolean flag=true;
//如果s或t为空,或s/t长度为0,或者s与t的长度不想同,则肯定不为变位词
if(s==null||t==null||s.length()==0||t.length()==0||(s.length()!=t.length())){
return false;
}
int[] temp=new int[120];
//遍历s和t,使得s字符的ASCII码对应temp位置处的数加一,t字符的ASCII码对应temp数组位置处的数减一
for(int i=0;i<s.length();i++){
temp[(int)s.charAt(i)]++;
temp[(int)t.charAt(i)]--;
}
//如果s和t是变位词,那么一加一减后,temp中每个数都是0;
for(int j=0;j<temp.length;j++){
if(temp[j]!=0){
flag=false;
break;
}
}