给定两个字符串 s 和 t ,判断它们是否是同构的。
如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。
每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。
Example 1:
Input: s = "egg", t = "add"
Output: true
说明: 你可以假设 s 和 t 具有相同的长度。
题解
字符串换byte[] 然后判断每一个字节在[]是第几次出现
// 判断第一次出现的位置
func isIsomorphic(s string, t string) bool {
ss := []byte(s)
tt := []byte(t)
if len(ss)==0 && len(tt) == 0 {
return true
}
if len(ss) != len(tt) {
return false
}
for i := 0; i < len(ss); i++ {
if bytes.IndexByte(ss, s[i]) != bytes.IndexByte(tt, tt[i]) {
return false
}
}
return true
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。