我必须编写一个函数,将两个单词(字符串)作为参数,并确定是否可以仅使用一次一阶转换将第一个单词转换为第二个单词。
一阶变换只改变一个单词中的一个字母
允许的转换是:插入、删除和替换
- insert = 在单词的任意位置插入一个字母
- remove = 从单词中的任意位置删除一个字母
- replace = 用另一个字母替换一个字母
有什么建议吗?任何 Java 示例都很棒!
最佳答案
思考:如果您只允许进行一次转换,那么“之前”和“之后”之间的长度差异应该会给您一个非常强烈的提示,让您知道这三种转换中的哪一种有可能成功.出于同样的原因,您一眼就能看出哪些转换是根本不可能的。
一旦您决定了哪种转换,剩下的问题就变成了 Brute Force Man 和他的搭档 Looping Lady 的工作。
关于java - 当只允许插入/删除/替换操作时,确定一个字符串是否可以转换为另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3188077/