Scala - 计算字符串中相邻重复字符的数量

Scala - Count number of adjacent repeated chars in String

我有这个函数可以计算字符串中相邻重复字符的数量。

def adjacentCount( s: String ) : Int = {
    var cont = 0
    for (a <- s.sliding(2)) {
        if (a(0) == a(1)) cont = cont + 1
    }
        cont
    }
}

但我应该以 "purely" 函数式方式创建一个完全相同的函数,但仅使用不可变变量或循环指令。

您可以只在 Iterator 上使用 count 方法:

val s = "aabcddd"

s.sliding(2).count(p => p(0) == p(1))
// res1: Int = 3