本文主要是介绍lintCode_两个字符串是变位词,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
写出一个函数 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;}}
这篇关于lintCode_两个字符串是变位词的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!