Developing Algorithms Using Strings

AP Computer Science A· difficulty 3/5

public static boolean isAna(String a, String b) {
  if (a.length() != b.length()) return false;
  int[] cnt = new int[26];
  for (char c : a.toCharArray()) cnt[c - 'a']++;
  for (char c : b.toCharArray()) cnt[c - 'a']--;
  for (int x : cnt) if (x != 0) return false;
  return true;
}
// call: isAna("abc", "bca")

What does it return?

  • A

    true

    check_circle
  • B

    0

  • C

    false

  • D

    exception

Explanation

The counter array nets zero everywhere, indicating an anagram.

Want 10 more like this — adaptive to your weak spots?

Related questions