跳转至内容

99 个艾尔姆难题/第 8 个难题/解答

来自维基文库,开放世界中的开放书籍

解答 1:递归版本

compress list =
  case list of
    [] -> []
    [ first ] -> [ first ]
    first :: next :: tail ->
      if first == next then
        compress (next :: tail)
      else
        first :: compress (next :: tail)
华夏公益教科书