Write a spell checker class that stores a set of words, w, in a hash

 

Write a spell checker class that stores a set of words, W, in a 

hash table and implements a function, spellCheck(s), which 

performs a Spell Check on the string s with respect to the set of 

words, W. If s is in W, then the call to spellCheck(s) returns an 

iterable collection that contains only s, since it is assumed to be 

spelled correctly in this case. Otherwise, if s is not in W, then 

the call to spellCheck(s) returns a list of every word in W that 

could be a correct spelling of s. Your program should be able to 

handle all the common ways that s might be a misspelling of a 

word in W, including swapping adjacent characters in a word , 

inserting a single character inbetween two adjacent characters 

in a word, deleting a single character from a word, and 

replacing a character in a word with another character. for an 

extra challenge, consider phonetic substitutions as well