【LeetCode】一次编辑 Java 题解
题目描述
字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。
示例 1:
输入:first = "pale"second = "ple"输出: True
示例 2:
输入:first = "pales"second = "pal"输出: False
来源:力扣(LeetCode)链接:https://leetcode.cn/problems/one-away-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路分析
今天的算法题目是字符串处理题目。题目描述清晰,我们需要分情况讨论处理。
题目要求比较两个字符串,是否可以通过 0 次或者 1 次操作修改成为相同。我们首先需要比较两个字符串的长度。长度相同的话,比较两个字符串字符差异的个数,不同的字符的个数小于等于 1 即为 true。当长度不同的时候,只找到不同的字符位置,比较差值。实现代码如下,供参考。
通过代码
复制代码
总结
上述算法的时间复杂度是 O(n),空间复杂度是 O(1)
坚持算法每日一题,加油!
版权声明: 本文为 InfoQ 作者【HQ数字卡】的原创文章。
原文链接:【http://xie.infoq.cn/article/77996a0e71e7e24547438372a】。文章转载请联系作者。
评论