public List<String> generateList(char[] word, Map<String, Boolean> visited, HashSet<String> dict) {
		ArrayList<String> list = new ArrayList<String>();
		
		for(int i = 0; i < word.length; i++) {
			char orig = word[i];
			for(char ch = 'a'; ch <= 'z'; ch++) {
				if(ch == orig) continue;
				word[i] = ch;
				String newWord = new String(word);
				if(dict.contains(newWord) && !visited.get(newWord)) {
					list.add(newWord);
					visited.put(newWord, true);
				}
			}
			word[i] = orig;
		}
		
		return list;
	}