我正在为实践进行编程挑战,并且无法找到用于实现解决方案的良好数据结构/算法。
背景:
如果您可以通过添加、删除或更改单个字母将一个单词变为另一个单词,则称两个单词为“相邻”。
“单词列表”是连续单词相邻的唯一单词的有序列表。
问题:
编写一个程序,将两个单词作为输入,遍历字典并在它们之间创建一个单词列表。
例子:
hate → love: hate, have, hove, love
dogs → wolves: dogs, does, doles, soles, solves, wolves
man → woman: man, ran, roan, roman, woman
flour → flower: flour, lour, dour, doer, dower, lower, flower
我不太确定如何解决这个问题,我的第一次尝试涉及创建第一个单词的排列,然后尝试替换其中的字母。我的第二个想法可能是后缀树之类的东西
任何关于至少解决问题的想法或想法都会受到赞赏。请记住,这不是家庭作业,而是我自己正在解决的编程挑战。