P12 (**) Decode a run-length encoded list.

来源:互联网 发布:瞬联软件科技有限公司 编辑:程序博客网 时间:2024/05/17 23:00

Given a run-length code list generated as specified in problem P10, construct its uncompressed version.

Example:

scala> decode(List((4, 'a), (1, 'b), (2, 'c), (2, 'a), (1, 'd), (4, 'e)))res0: List[Symbol] = List('a, 'a, 'a, 'a, 'b, 'c, 'c, 'a, 'a, 'd, 'e, 'e, 'e, 'e)

  def decode[A](ls:List[(Int,Symbol)]):List[Symbol]={    var list:List[Symbol]=Nil    ls.foreach{e=>      for(i<-0 to e._1-1) {        list=list:::List(e._2)      }    }    list  }  def main(args: Array[String])= {    println(decode(List((1,'a),(2,'b),(3,'c),(2,'d))))  }}




0 0
原创粉丝点击