Java Anagrams

  • + 39 comments

    This simple Java code works in all cases

            if (a.length() != b.length()) {
                return false;
            }
            a = a.toLowerCase();
            b = b.toLowerCase();
            int sum = 0;
            for (char c = 'a'; c <= 'z'; c++) {
                for (int i=0; i<a.length(); i++) {
                    if (a.charAt(i) == c) {
                        sum++;
                    }
                    if (b.charAt(i) == c) {
                        sum--;
                    }
                }
                if (sum != 0) {
                    return false;
                }
            }
            return true;