diff --git a/testcases/BinarySearchTree.scala b/testcases/BinarySearchTree.scala index 0e7f56f48ce5a2c21d3bae9280b6df6de20920ba..a01ccc3f6587816f2034a292e773ddadbb8a77ac 100644 --- a/testcases/BinarySearchTree.scala +++ b/testcases/BinarySearchTree.scala @@ -20,9 +20,13 @@ object BinarySearchTree { def contains(tree: Tree, value: Int) : Boolean = tree match { case Leaf() => false - case Node(_, v, _) if v == value => true - case Node(l, v, r) if v < value => contains(r, value) - case Node(l, v, r) if v > value => contains(l, value) + case n @ Node(l, v, r) => if(v < value) { + contains(r, value) + } else if(v > value) { + contains(l, value) + } else { + true + } } def contents(tree: Tree) : Set[Int] = tree match {