Advertisement

面试题 01.05 编辑(动态规划)

阅读量:

面试题 01.05. 一次编辑

字符串支持三种基本的操作:插入单个字符、删除单个字符或替换单个字符。对于任意两个字符串,请设计并实现该函数以判断它们之间是否仅需最多一次(零次或一次)的编辑操作。

示例 1:

复制代码
    输入: 
    first = "pale"
    second = "ple"
    输出: True

示例 2:

复制代码
    输入: 
    first = "pales"
    second = "pal"
    输出: False

方法一:

主要思路

仅需关注一个修改点,在字符串中寻找差异所在的位置进行分析即可。
当两个字符串长度相同时,请例如考虑 'leet' 与 'code' 的情况。
在这种情况下:
(1)如果两个字符串长度相同,则分别考虑如下两种情况:
a. 字符串结构完全一致
b. 字符串结构存在差异
(2)如果两个字符串长度不一致,则分别考虑如下两种情况:
a. 字符串结构存在差异
b. 字符串结构不一致

(2)长度不一致:两个不同的名称。 我们观察到'c'与'o'不相同,并接着比较'ode'与'ode'是否一致。

复制代码
    class 

全部评论 (0)

还没有任何评论哟~