import scala.util.Sorting
object FindTheLongestCommonStringPrefixInArrayOfStrings_Scala {
def longestCommonPrefix(arr: Array[String]): String = {
val size = arr.length
if (size == 0)
return ""
if (size == 1)
return arr(0)
Sorting.quickSort(arr)
val minLength = math.min(arr(0).length, arr(size - 1).length)
var i = 0
while (i < minLength && arr(0)(i) == arr(size - 1)(i))
i += 1
arr(0).substring(0, i)
}
def main(args: Array[String]): Unit = {
val arr = Array("cartography", "carburetor", "carbonating", "cartoon")
println(s"The longest common prefix: ${longestCommonPrefix(arr)}")
}
}
/*
run:
The longest common prefix: car
*/