且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将字符串拆分为组

更新时间:2022-06-14 21:21:09

可以用span递归拆分字符串:

You can split the string recursively with span:

def s(x : String) : List[String] = if(x.size == 0) Nil else {
    val (l,r) = x.span(_ == x(0))
    l :: s(r) 
}

尾递归:

@annotation.tailrec def s(x : String, y : List[String] = Nil) : List[String] = {
    if(x.size == 0) y.reverse 
    else {
        val (l,r) = x.span(_ == x(0))
        s(r, l :: y)
    }
}