很简单的题目,感觉加上了类之后,编程了一道medium的题目
class MagicDictionary {
private:
vector<string> dict;
bool compare(string a,string b){
if(a.size()!=b.size())
return false;
int count =0 ;
for(int i=0;i<a.size();i++)
{
if(a[i]!=b[i])
count++;
if(count>=2)
break;
}
return (count==1);
}
public:
/** Initialize your data structure here. */
MagicDictionary() {
}
/** Build a dictionary through a list of words */
void buildDict(vector<string> dict) {
this->dict = dict;
}
/** Returns if there is any word in the trie that equals to the given word after modifying exactly one character */
bool search(string word) {
for(int i=0;i<dict.size();i++)
{
if(compare(dict[i],word))
return true;
}
return false;
}
};
/**
* Your MagicDictionary object will be instantiated and called as such:
* MagicDictionary obj = new MagicDictionary();
* obj.buildDict(dict);
* bool param_2 = obj.search(word);
*/