Problem
-
Implement a dictionary data structure that allows searching for items using wildcards. A `*` is supported and it represents any single letter.
Create an `Add` function that takes a string and adds it to the dictionary.
Create a `Find` function that takes as input a string with possible one or more wildcards and returns a boolean value indicating whether the input string is in the dictionary.
The following test should pass:
```
Add("cat")
Add("cats")
Add("car")
Add("horse")
Find("cat") == true
Find("cats") == true
Find("car") == true
Find("horse") == true
Find("ca*") == true
Find("*at") == true
Find("*a*") == true
Find("h***e") == true
Find("cat*") == true
Find("***") == true
Find("dog") == false
Find("*an") == false
Find("******") == false
```