看了这道题,没有思路,哪位大神指导指导算法,题目如下:
近义词维护 给定接口,设置两个单词相互近义。近义词具有相互传递性,如果A和B为近义词,B和C是近义词,那么A、B、C都为近义词。要求提供接口,查询给定的两个但是是否是近义词关系。并且能提供接口清除所有的近义词关系。 接口说明 /** * 设置2个单词为近义词 * @param word1 单词一 * @param word2 单词二 * @return 0为成功,-1为失败或其他异常 */ public int setSynonyms(String word1, String word2) /** *判断2个单词是否为近义词(同一单词视为近义词) *@param word1 单词一 *@param word2 单词二 *@return 为近义词返回true,否则返回false */ public boolean isSynonyms(String word1, String word2) /** * 清除单词之间的近义词关系 */ public void clearRelations()
可以参考树结构的构建