欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LintCode 题目:字符同构

程序员文章站 2022-03-24 21:14:03
...

URL:https://www.lintcode.com/problem/isomorphic-strings/description

描述

给定两个字符串 st ,确定它们是否是同构的。
两个字符串是同构的如果 s 中的字符可以被替换得到 t。
所有出现的字符必须用另一个字符代替,同时保留字符串的顺序。 没有两个字符可以映射到同一个字符,但一个字符可以映射到自己。

你可以假定两个字符串 s 和 t 是一样长度的.

样例

样例 1 :

输入 : s = "egg", t = "add"
输出 : true 
说明 : 
e -> a, g -> d。

样例 2 :

输入 : s = "foo", t = "bar"
输出 : false 
说明 : 
没有方案。

样例 3 :

输入 : s = "paper", t = "title"
输出 : true 
说明 :
p -> t, a -> i, e -> l, r -> e。

注意事项

你可以假定两个字符串 s 和 t 是一样长度的。

在代码段中添加:

int sa[127] = {0},ta[127] = {0};
        for (int i = 0; i < s.size(); i++) {
            /* code */
            if(sa[s[i]]!=ta[t[i]])
                return false;
            sa[s[i]]++;
            ta[t[i]]++;
        }
        return true;

即可:

LintCode 题目:字符同构