leetcode161. 相隔为 1 的编辑距离
给定两个字符串 s 和 t,判断他们的编辑距离是否为 1。
注意:
满足编辑距离等于 1 有三种可能的情形:
往 s 中插入一个字符得到 t
从 s 中删除一个字符得到 t
在 s 中替换一个字符得到 t
示例 1:
输入: s = "ab", t = "acb"
输出: true
解释: 可以将 'c' 插入字符串 s 来得到 t。
示例 2:
输入: s = "cab", t = "ad"
输出: false
解释: 无法通过 1 步操作使 s 变为 t。
示例 3:
输入: s = "1203", t = "1213"
输出: true
解释: 可以将字符串 s 中的 '0' 替换为 '1' 来得到 t。
思路:很简单,你可以三个情形都对应的遍历一遍判断即可。
但是稍微有一点优化,其实如果s能删除一个字符变成t,那么t一定也可以插入一个字符得到s。
所以删除插入没必要都写,我们把短的字符串放在左边(s),就不用写删除了。
class Solution {public boolean isOneEditDistance(String s, String t) {int ns = s.length();int nt = t.length();//交换if (ns > nt)return isOneEditDistance(t, s);//长度差超过1if (nt - ns > 1)return false;//找到不同的字符for (int i = 0; i < ns; i++)if (s.charAt(i) != t.charAt(i))//如长度不同,那么两字符串后面应该相同if (ns == nt)return s.substring(i + 1).equals(t.substring(i + 1));//如长度不同,那么必须在s[i]插入t[i],所以要保证s.substring(i).equals(t.substring(i + 1))elsereturn s.substring(i).equals(t.substring(i + 1));return (ns + 1 == nt);}
}
leetcode161. 相隔为 1 的编辑距离相关推荐
- 161. 相隔为 1 的编辑距离
161. 相隔为 1 的编辑距离 给定两个字符串 s 和 t,判断他们的编辑距离是否为 1. 注意:满足编辑距离等于 1 有三种可能的情形 往 s 中插入一个字符得到 t 从 s 中删除一个字符得到 ...
- LeetCode 161. 相隔为 1 的编辑距离(DP/遍历)
文章目录 1. 题目 2. 解题 2.1 DP超时 2.2 一次遍历 1. 题目 给定两个字符串 s 和 t,判断他们的编辑距离是否为 1. 注意: 满足编辑距离等于 1 有三种可能的情形: 往 s ...
- 【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell)
3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...
- leetcode解题总览
3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...
- leetcode刷题目录总结
题目 题目 技巧 相似的题目 其他 1. 无序数组中找出目标为target的两个数 先定义下一个数,然后找两位的数是否存在 高频, 大厂刷题班, 第27节 2.逆序链表两数相加 链表.各位加法 高频, ...
- Leetcode题目分类指南(单独刷题或学习算法书籍配合使用)
Leetcode题目分类指南 笔者在学习<算法导论>同时,希望能够配合Leetcode的题目进行分类模块化练习,该分类为笔者自己根据做题学习经验,结合<算法导论>的内容,给出L ...
- 如何学好C语言--你的学渣朋友告诉你
光说不练假把式,光练不说傻把式,又练又说真把式. 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www ...
- LeetCode1-620题汇总,希望对你有点帮助!
时间很快,公众号发布的LeetCode题目,已经达到620道题了.今天把发布的1-620篇LeetCode文章整理一下,平时文章都放在比较末尾,阅读量都不高,相信很多人都没看过,如果对于算法感兴趣的, ...
- LeetCode1-580题汇总,希望对你有点帮助!
时间很快,公众号发布的LeetCode题目,已经达到560道题了.今天把发布的1-560篇LeetCode文章整理一下,平时文章都放在比较末尾,阅读量都不高,相信很多人都没看过,如果对于算法感兴趣的, ...
最新文章
- python基础 list和tuple
- .NET6之MiniAPI(十四):跨域CORS(上)
- 滚动加载数据 php,无刷新动态加载数据 滚动条加载适合评论等页面
- PAT乙级(1018 锤子剪刀布)
- 【es】 check-rollover-ready read index [alinas-lcc] is not the wtiter index for alians [index-xx]
- Python——匿名函数lambda
- perl - Java调用perl
- 对佛教大小无别的弦论解释
- sql between的用法的意思_SQL 语法手册来啦,你想要的这里都有!
- 又是被打败的一天 (记招商银行笔试)
- macbook pro 2017版电池问题,八九十的电,用着忽然关机,再开机提示充电才行。
- 玄武科技——前端面试题总结
- [碎碎念]祝我的董小姐生日快乐~
- 【C语言--斐波拉契数列】
- 双硬盘多系统独立引导(2-Windows xp Win7)
- HDU - 1465 不容易系列之一 【错排】
- 在Webots中导入自己的3D模型
- android:launchMode的四种方式
- android jks sha1,获取Android SHA1 、生成jks密钥、签名Apk
- 海贼王游戏--EM游戏02--未雨绸缪
热门文章
- rs485接口上下拉_RS485接口EMC电路设计方案
- 树莓派 蓝牙音响_你应该拥有一个树莓派
- c位边上还有什么位_【一点资讯】那些有趣而搞笑的GIF动画:为让出c位,站边上拍照还是谦虚礼貌的 www.yidianzixun.com...
- Java代码服务器上下载图片_Java如何从服务器中下载图片
- 【转】CT解析重建**
- 【转】深度理解C# 的执行原理
- 【转】VTK + QT + VS 编译安装配置
- [你必须知道的.NET]第十回:品味类型---值类型与引用类型(下)-应用征途
- TUN/TAP设备浅析(一) -- 原理浅析
- Callable接口-创建线程的第三种方法