【4】Decide if two strings are anagrams or not

来源:互联网 发布:js跨域修改iframe样式 编辑:程序博客网 时间:2024/06/05 23:01

Question: Write a method to decide if two strings are anagrams or not.

package CareerCup;public class Anagram {public Anagram(){}public boolean detect(String str1, String str2){if(str1.length()!=str2.length()) return false;int[] chars = new int[256];int NumUniqueChar = 0;int Num=0;for(int i=0;i<str1.length();i++){int ch = str1.charAt(i);if(chars[ch]==0) NumUniqueChar++;chars[ch]++;}for(int i=0;i<str2.length();i++){if(chars[str2.charAt(i)]==0) return false;chars[str2.charAt(i)]--;if(chars[str2.charAt(i)]==0){Num++;if(Num==NumUniqueChar)return i==str2.length()-1;}}return false;}public static void main(String[] args){String str1 = "abcdef";String str2 = "adbgef";System.out.print(str1+" and "+ str2);Anagram agr = new Anagram();if(agr.detect(str1,str2))System.out.print(" are anagrams!");else System.out.print(" are not anagrams!");System.out.println();}}

原创粉丝点击