本文主要是介绍力扣:205. 同构字符串(Python3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
给定两个字符串
s
和t
,判断它们是否是同构的。如果
s
中的字符可以按某种映射关系替换得到t
,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。
来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
示例:
示例 1:
输入:s =
"egg"
, t ="add"
输出:true
示例 2:输入:s =
"foo"
, t ="bar"
输出:false
示例 3:输入:s =
"paper"
, t ="title"
输出:true
解法:
依次将字符串映射到数字。数字从1开始编号,第1个出现的字符标1,第2个出现的字符标2,以此类推,如果已出现过,就用之前的标号。
代码:
class Solution:def isIsomorphic(self, s: str, t: str) -> bool:def exchange(s):count = 1d = dict()ret = ''for letter in s:if letter not in d:d[letter] = str(count)count += 1ret += d[letter]return retreturn exchange(s) == exchange(t)
这篇关于力扣:205. 同构字符串(Python3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!