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

Edh*_*var 1 functional-programming scala count immutability

我有这个函数来计算String中相邻重复字符的数量.

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

但我应该创建一个完全相同的函数,但只使用不可变的变量或循环指令,以"纯粹"的功能方式.

Psi*_*dom 5

您可以countIterator上使用该方法:

val s = "aabcddd"

s.sliding(2).count(p => p(0) == p(1))
// res1: Int = 3
Run Code Online (Sandbox Code Playgroud)