LeetCode-161.One Edit Distance (JAVA)一次编辑距离
来源:互联网 发布:unity开发3d麻将源码 编辑:程序博客网 时间:2024/06/16 04:32
161.One Edit Distance
Given two strings S and T, determine if they are both one edit distance apart.
这道题只让我们判断两个字符串的编辑距离是否为1,那么我们只需分下列三种情况来考虑就行了:
1. 两个字符串的长度之差大于1,那么直接返回False
2. 两个字符串的长度之差等于1,那么长的那个字符串去掉一个字符,剩下的应该和短的字符串相同
3. 两个字符串的长度之差等于0,那么两个字符串对应位置的字符只能有一处不同。
public boolean isOneEditDistance(String s, String t) {// 让s指向长的字符串if (s.length() < t.length()) {String tmp = s;s = t;t = tmp;}int m = s.length();int n = t.length();int diff = m - n;// diff>=0// 两个字符串的长度之差大于1,那么直接返回Falseif (diff >= 2) {return false;// 两个字符串的长度之差等于1,那么长的那个字符串去掉一个字符,// 剩下的应该和短的字符串相同} else if (diff == 1) {// 小于长度小的for (int i = 0; i < n; i++)// 到了i,说明0~i-1字符相等,// 只要判断剩下的是否相等即可if (s.charAt(i) != t.charAt(i))// s去掉一个字符,而t不变return s.substring(i + 1) == t.substring(i);} else {// 两个字符串的长度之差等于0,// 那么两个字符串对应位置的字符只能有一处不同。int cnt = 0;for (int i = 0; i < n; ++i)if (s.charAt(i) != t.charAt(i))++cnt;return cnt == 1;}return true;}参考:https://segmentfault.com/a/1190000003906621
0 0
- LeetCode-161.One Edit Distance (JAVA)一次编辑距离
- LeetCode 161. One Edit Distance(编辑距离)
- leetcode:Edit Distance 编辑距离
- leetcode 编辑距离 Edit Distance
- Edit Distance 编辑距离算法 @LeetCode
- [LeetCode] [动态规划] [编辑距离] Edit Distance
- LeetCode | Edit Distance(字符串编辑距离)
- (每日算法)Leetcode--Edit Distance(编辑距离)
- LeetCode 72. Edit Distance(编辑距离)
- Leetcode-161.One Edit Distance
- [LeetCode]161. One Edit Distance
- LeetCode 161. One Edit Distance
- Leetcode 161. One Edit Distance
- LeetCode 161.One Edit Distance
- edit distance 编辑距离
- 编辑距离 (edit distance)
- 编辑距离 (edit distance)
- Edit Distance 编辑距离
- 找出二叉树中指定结点的下一个结点(中序后继)可以假定每个结点都有指向父节点的连接
- 二分贪心--24
- Android Accessibility 安全性研究报告
- 蓝桥杯--第七届决赛:愤怒的小鸟
- Discuz!开发之网站后台消息提醒函数cpmsg()介绍
- LeetCode-161.One Edit Distance (JAVA)一次编辑距离
- 前端基础进阶(五):全方位解读this
- php代码判断是否移动端,PC端
- 封装TopBarBaseActivity
- MAC 安装idk
- 文件的格式与文件扩展名指定的格式不一致
- poj 3254 Corn Field 状态压缩dp
- JavaScript学习笔记8-多个参数的函数使用
- NestedScrollView嵌套RecyclerView (官方)