栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA一次编辑

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA一次编辑

题目要求:

解题思路:

两个字符串如何相差大于1,直接返回false.

示例一:如果第一个字符串减第二个字符串等于1,第二个字符串需要添加一位。记录修改次数。下次比较需要first字符串的第三位与second第二位进行比较是否相等。

如需修改记录次数。比较完,次数修改大于一次,返回false,小于一次直接返回ture

public boolean oneEditAway(String first, String second) {
   int len = first.length()-second.length();	
	if (len>1||len<-1) {
		return false;
	}
	int count=1;
	for (int i = 0,j=0; i < first.length()&&j < second.length(); i++,j++) {
		if (first.charAt(i)!=second.charAt(j)) {
			if (len==1) { //second要不要添加一个字符
				j--;
			}else if (len==-1) { //second要不要删除一个字符
				i--;
			}	
			count--;
		}
		if (count<0) {//最多编辑一次
			return false;
		}
	}
	return true;   
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659212.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号