Advertisement
Guest User

Untitled

a guest
Jun 26th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.42 KB | None | 0 0
  1. def encode(tree: CodeTree)(text: List[Char]): List[Bit] = {
  2.     def encodeChar(partial: CodeTree)(char: Char)(encoded: List[Bit]): List[Bit] = partial match {
  3.       case Leaf(_, _) => encoded
  4.       case Fork(left, right, c, w) =>
  5.         if (chars(left).contains(char)) 0 :: encodeChar(left)(char)(encoded)
  6.         else 1 :: encodeChar(right)(char)(encoded)
  7.     }
  8.  
  9.     text.flatMap(c => encodeChar(tree)(c)(List[Bit]()))
  10.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement