[双字符串映射]leetcode205:同构字符串(easy)

[双字符串映射]leetcode205:同构字符串(easy),第1张

题目:


题解:

思路:将字符串 s 中的每一个字符 a 映射到字符串 t 中对应位置的字符 b,同时将字符串 t 中的每一个字符 b 映射到字符串 s 中对应位置的字符 a,这样来检测是否发生冲突。


代码如下:

class Solution {
public:
    // 双hash:s->t t->s 
    bool isIsomorphic(string s, string t) {
        unordered_map<char,char> r1,r2;
        int n=s.size();
        for(int i=0;i<n;++i)
        {
            char a=s[i],b=t[i];
            // 发生冲突
            if(r1.count(a)&&r1[a]!=b||r2.count(b)&&r2[b]!=a)return false;
            r1[a]=b,r2[b]=a;
        } 
        return true;
    }
};

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1353285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-14
下一篇 2022-06-14

发表评论

登录后才能评论

评论列表(0条)

保存