java - 当只允许插入/删除/替换操作时,确定一个字符串是否可以转换为另一个字符串

标签 java algorithm string

我必须编写一个函数,将两个单词(字符串)作为参数,并确定是否可以仅使用一次一阶转换将第一个单词转换为第二个单词。

  • 一阶变换只改变一个单词中的一个字母

  • 允许的转换是:插入、删除和替换

    • insert = 在单词的任意位置插入一个字母
    • remove = 从单词中的任意位置删除一个字母
    • replace = 用另一个字母替换一个字母

有什么建议吗?任何 Java 示例都很棒!

最佳答案

思考:如果您只允许进行一次转换,那么“之前”和“之后”之间的长度差异应该会给您一个非常强烈的提示,让您知道这三种转换中的哪一种有可能成功.出于同样的原因,您一眼就能看出哪些转换是根本不可能的。

一旦您决定了哪种转换,剩下的问题就变成了 Brute Force Man 和他的搭档 Looping Lady 的工作。

关于java - 当只允许插入/删除/替换操作时,确定一个字符串是否可以转换为另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3188077/

相关文章:

string - Windows 批处理 : find a string in file with "[" in the string

java - 如何在 Ubuntu Linux 中使用 JVisualvm 监控 Tomcat6?

使用 Hibernate 的 Java Criteria Query - 生成的别名无效路径?

algorithm - 找出包含 1 和 0 一样多的最长子序列 O(n)

c++ - C++Builder 6 上的 std::string 操作错误

string - Dart:在赋值中使用 * 运算符时会分配多少个字符串对象?

java - 如何使用 Spring Boot、JPA 和 Thymeleaf 设置搜索栏

java - Jackson 条件反序列化

algorithm - 使用缓存计算树结构中的总和

algorithm - 找到圆锥的顶点,已知圆锥内切的球体