如果它们“足够接近”,我们说我们可以从单词 w1 “跳跃”到单词 w2。如果满足以下条件之一,我们将 w2 定义为足够接近 w1:
w2 是从 w1 中删除一个字母得到的。
w2 是通过将 w1 中的一个字母替换为 w1 中出现在其右侧并且按字母顺序也在其右侧的某个字母来从 w1 获得的。
我不知道如何检查 2. 是否满足。要检查 1. 是否可能,这是我的功能:
bool check1(string w1, string w2){
if(w2.length - w1.length != 1){
return false;
}
for(int i = 0,int j = 0;i < w2.length;i++;j++){
if(w2[i] == w1[j]){//do nothing
}
else if(i == j){
j++;
}
else{
return false;
}
}
return true;
}
给定两个单词 w1 和 w2,我们如何检查我们是否可以从 w1 跳到 w2?