BinaryTree to Map

Geoffrey Challen // 2021.4.0

Create a public class BinaryTreeToMap that provides a single static method toMap. toMap accepts a BinaryTree<?> and returns a Map<Object, Integer> mapping the values in the tree to the count of the times that the value appears.

Our suggestion is to have toMap create the map and then call a private recursive helper method to populate it. If the tree passed to toMap is null you should throw an IllegalArgumentException. You will need to import cs125.trees.BinaryTree, as well as Map and a Map implementation (probably HashMap) from java.util. We've provided some code to get you started.

For reference, cs125.trees.BinaryTree has the following public properties: