public class Anagram { public boolean check1(String w1, String w2) { if (w1.length() != w2.length() ) return false; String sort1 = sort(w1); String sort2 = sort(w2); System.out.println("word1 = " + sort1 + " word2 = " + sort2); boolean ans = sort1.equals(sort2); return ans; //return ( sort(w1).equals(sort(w2) ); } public String sort(String w) { StringBuffer sb = new StringBuffer(w); for (int i = 0; i < sb.length();i++) { for (int j=0; j < sb.length()-1; j++ ) { char c1 = sb.charAt(j); char c2 = sb.charAt(j+1); if (c1 > c2) { sb.setCharAt(j, c2); sb.setCharAt(j+1, c1); } } } return sb.toString(); } //******************************************************* int counts [] = new int[26]; public boolean check(String w1, String w2) { Freqs f1 = new Freqs(); f1.countLet(w1); Freqs f2 = new Freqs(); f2.countLet(w2); return f1.equals(f2) ; } }