How to check if two strings are anagram (same letters different words) in Scala

1 Answer

0 votes
object AnagramChecker {
  def areAnagram(s1: String, s2: String): Boolean = {
    if (s1.length != s2.length) return false

    val freq = scala.collection.mutable.Map[Char, Int]().withDefaultValue(0)

    s1.foreach(ch => freq(ch) += 1)
    s2.foreach(ch => freq(ch) -= 1)

    freq.values.forall(_ == 0)
  }

  def main(args: Array[String]): Unit = {
    println(if (areAnagram("scala", "scaal")) "yes" else "no")
    println(if (areAnagram("scala", "lasca")) "yes" else "no")
    println(if (areAnagram("scala", "skala")) "yes" else "no")
  }
}




/*
run:

yes
yes
no

*/

 



answered Nov 13, 2025 by avibootz
...