2017-07-02 110 views
1

我有這個函數計算字符串內相鄰重複字符的數量。Scala - 計算字符串中相鄰重複字符的數量

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

但我應該創建一個具有完全相同的功能,但只用一成不變的變量或循環指令,在一個「純粹的」功能性的方式。

回答

5

您可以只使用count方法上迭代

val s = "aabcddd" 

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

謝謝,非常完美! – Edhelvar

相關問題