scala 格雷码

 

def gray(n: Int): List[String] = {
    def go(x: Int, result: List[String]): List[String] = {
      if (x <= 0) result
      else {
        val cur = result.map(s => ("0" + s)) ++ result.reverse.map(s => ("1" + s))
        go(x - 1, cur)
      }
    }

    go(n, List(""))
  }

  

 

posted @ 2019-03-24 16:02  wqkant  阅读(140)  评论(0编辑  收藏  举报