描述 | |
---|---|
知识点 | 字符串 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入两个字符串 |
输出 | 得到计算结果 |
样例输入 | abcdefg abcdef |
样例输出 | 1 |
#include<iostream>
using namespace std;
#define NUM 100
int distance(char *ch1,char *ch2)
{
if(*ch1=='\0')return strlen(ch2);
else if(*ch2=='\0')return strlen(ch1);
else if(*ch1==*ch2)return distance(++ch1,++ch2);
else
{
int d1=distance(++ch1,++ch2)+1;//replace
int d2=distance(ch1,++ch2)+1;//add,remove
int d3=distance(++ch1,ch2)+1;//add,remove
if(d1<d2&&d1<d3)return d1;
else if(d2<d1&&d2<d3)return d2;
else return d3;
}
}
int main()
{
char ch1[NUM],ch2[NUM];
cin>>ch1>>ch2;
cout<<distance(ch1,ch2)<<endl;
return 0;
}