在本教程中,我们将讨论使用追加和删除最后一个操作将一个字符串转换为另一个字符串的程序。
为此,我们将提供两个字符串。我们的任务是通过执行k个追加和删除最后一个元素的操作来计算是否可以将第一个字符串转换为第二个字符串。
#include <bits/stdc++.h>
using namespace std;
//检查字符串之间是否可以转换
bool if_convert(string str1, string str2,
int k){
if ((str1.length() + str2.length()) < k)
return true;
//查找两个字符串的共同长度
int commonLength = 0;
for (int i = 0; i < min(str1.length(),
str2.length()); i++) {
if (str1[i] == str2[i])
commonLength++;
else
break;
}
if ((k - str1.length() - str2.length() +
2 * commonLength) % 2 == 0)
return true;
return false;
}
int main(){
str1 = "tutorials", str2 = "point";
k = 5;
cout << endl;
if (if_convert(str1, str2, k))
cout << "Yes";
else
cout << "No";
return 0;
}输出结果
No