LintCode 题目:字符同构
程序员文章站
2022-03-24 21:14:03
...
URL:https://www.lintcode.com/problem/isomorphic-strings/description
描述
给定两个字符串 s 和 t ,确定它们是否是同构的。
两个字符串是同构的如果 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- 不同的二叉树II
下一篇: LintCode题目:最小分解