1
문자열의 시퀀스를 읽고 문자열의 공통 줄기를 반환 할 수 있기를 원합니다. 예를 들어 다음 시퀀스가있는 경우 :재귀 적으로 문자열 시퀀스의 공통 루트를 찾는 방법은 무엇입니까?
val testSeq: Seq[String] = Seq("RootA_", "RootB_", "RootC_")
그런 다음 "Root"문자열 만 반환해야합니다.
내 현재 함수는 다음과 같습니다. 그러나 intersect를 사용하면 원하지 않는 "_
"이 루트의 일부로 반환됩니다 (즉, "Root_"). takeWhile을 사용해 보았지만 실패했습니다.
def findRoot(ss: Seq[String], root: String): String = ss match {
case h :: Nil => h.intersect(root)
case h :: t => findRoot(t, h.intersect(t.head))
}
스칼라 방법이 내장되어있는 경우 알려 주시기 바랍니다. 그렇지 않으면 누군가가이 문제를 해결할 때 균열이 있기를 원한다면 많은 도움이 될 것입니다!