【leetcode】859. 亲密字符串

bool buddyStrings(char * A, char * B){
    char a,b,cnt=0;
    int len1=strlen(A), len2=strlen(B), i, hash[26]={0};
    if(len1 != len2) return false;
    if(strcmp(A,B)){
        for(i=0; i<len1; i++){
            if(A[i] != B[i]){
                cnt++;
                if(cnt==1){
                    a=A[i]; b=B[i];
                }
                else if(cnt==2){
                    if(A[i] != b || B[i] != a)
                        return false;
                }
                else if(cnt>2)
                    return false;
            }
        }
    }
    else{
        for(i=0; i<len1; i++){
            if(++hash[A[i]-'a']==2)
                return true;
        }
        return false;        
    }
    
    return (cnt>1)?true :false;
}
原文地址:https://www.cnblogs.com/ganxiang/p/14057258.html