0分可看,提供思路
查看原帖
0分可看,提供思路
1573746
wyxing楼主2025/2/6 22:18
//好像大家都默认改成长的字符串,实际改成小的字符串更简单点。 
//只挑选小的字符串进行修改,可以省去“增”这一操作。
int check(string s,string x,int i) {
	if(s.size()>=x.size()) {
		string gai=s,shan=s;

		gai[i]=x[i];
		shan.erase(i,1);

		if(gai==x)		return 1;
		if(shan==x)		return 1;
	}

	else(该部分自行补充)
	return 0;
}//模拟两个操作,改完直接判断,有不同那也没办法了,我们只能改一次, 

int minn=(s.size()>=x.size()?s.size():x.size());
//有大选大,无大相同。		因为abcd与abc,如果选小的,则少了个d。 

for(int i=0; i<minn; i++)
	if(s[i]!=x[i]) {
	flag=check(s,x,i);
	break;
}//找到不同就进入判断。
2025/2/6 22:18
加载中...