1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| // @Title: 同构字符串 (Isomorphic Strings)
// @Author: 15816537946@163.com
// @Date: 2020-12-27 11:58:02
// @Runtime: 8 ms
// @Memory: 2.5 MB
func isIsomorphic(s string, t string) bool {
if len(s) == 0 {
return true
}
s2t := make(map[byte]byte)
t2s := make(map[byte]byte)
for i := range s {
x, y := s[i], t[i]
if s2t[x] > 0 && s2t[x] != y || t2s[y] > 0 && t2s[y] != x {
return false
}
s2t[x] = y
t2s[y] = x
}
return true
}
|