leetcode 205. Isomorphic Strings

求两字符串是否同构。即每个字符可且仅可映射为一个字符(包括自己),若两字符串经过某映射相同,则同构。

朴素的解法是保存其映射值和被映射值。

其实只要保存布尔值即可,巧妙。

    bool isIsomorphic(string s, string t) {

        int m1[256] = { 0 }, m2[256] = { 0 }, n = s.size();
        for (int i = 0; i < n; ++i) {
            if (m1[s[i]] != m2[t[i]]) return false;
            m1[s[i]] = i+1;
            m2[t[i]] = i+1;
        }
        return true;
    }

 

posted on 2018-01-30 14:22  willaty  阅读(78)  评论(0编辑  收藏  举报

导航