val l = strs(0).length val res = ListBuffer[Int]() for (i <- 0 until str.length - l * strs.length + 1) { val list = strs.toBuffer breakable( for (k <- 0 until strs.length) { val word = str.substring(i + k * l, i + (k + 1) * l) if (list.contains(word)) { list -= word } else { break() } } ) if (list.isEmpty) { res += i } }