leetcode 205:同构字符串

题目:

算法思想:通过map来判断是否映射一致,需要注意的是要开两个map,举个例子,s="ab",t="aa"和s="aa",t="ab",对着这个例子,如果只有一个map只能满足其中一个情况,所以分别判断s和t的映射是否与对方一致。

代码:

    bool isIsomorphic(string s, string t) {
        int len = s.length();
        map<char,char> s_map;
        map<char,char> t_map;
        for(int i = 0;i < len;i++)
        {
            if(s_map.find(s[i]) != s_map.end() && s_map[s[i]] != t[i])
                return false;
            if(t_map.find(t[i]) != t_map.end() && t_map[t[i]] != s[i])
                return false;
            s_map[s[i]] = t[i];
            t_map[t[i]] = s[i];
        }
        return true;
    }
发布了137 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wh_computers/article/details/100071052