题目:1790. 仅执行一次字符串交换能否使两个字符串相等
class Solution {
public:
bool areAlmostEqual(string s1, string s2) {
int difNum = 0;
int n = s1.size();
char d1,d2;
for(int i=0; i<n; ++i){
if(s1[i]==s2[i]){
continue;
}else{
difNum++;
if(difNum == 1){
d1 = s1[i];
d2 = s2[i];
}else if(difNum == 2){
if(s1[i]!=d2||s2[i]!=d1){
return false;
}
}else{
return false;
}
}
}
if(difNum==1) return false;
return true;
}
};