私はScala Collectionsを初めて使いました。現在は、文字列のリストを2つのリスト(List[String], List[String])
のタプルに分割したいと考えています。このリストには、回文文字列のリストと残りの入力文字列が含まれています。例えばスカラーのリストが更新されない
入力がList("racecar", "abcd", "lilil", "effg")
出力された場合には、 は、私は、フィルタを使用してソリューションを持っている(List("racecar", "lilil"), List("abcd", "effg"))
でなければなりません。しかし、現在、foldLeftを使って私の解決策を洗練しようとしています。次のように私の新しいアプローチがある:私が間違っているの何
def stringTuples2(strings: List[String]): (List[String], List[String]) = {
strings.foldLeft((List[String](), List[String]()))((b, a) => {
if (a.equals(a.reverse)) { b._1 :+ a; b }
else { b._2 :+ a; b }
})}
私は、わからないが、このソリューションの出力は2つの空のリストのタプルである、すなわち、(リスト()、リスト())。
お手数ですが、ありがとう!
これは 'partition'のための完全なユースケースのように思える:貴重な入力のための' myList.partition(X => x.reverse == x) 'は – Akavall
おかげ@Akavall! –