如何根据字典找出这个单词有多少个兄弟单词
问题描述:
如何根据字典找出这个单词有多少个兄弟单词
答
首先定义一个key,使得兄弟单词有相同的key,不是兄弟的单词有不同的key.例如,将单词按字母从小到大重新排序后作为其key,比如bad的key为abd,good的key为dgoo.
使用链表将所有兄弟单词串在一起,hash_map的key为单词的key,value为链表的起始地址.
开始时,先遍历字典,将每个单词都按照key加入到对应的链表当中.当需要找兄弟单词时,只需求取这个单词的key,然后到hash_map中找到对应的链表即可.
解法二:将每一个字母对应一个质数,然后让对应的质数相乘,将得到的值进行HASH,这样兄弟单词的值就是一样的了,HASH_VALUE存为一个指向链表的指针,对于用户输入的单词进行计算,然后查找HASH,将链表遍历输出就得到所有兄弟单词