首页 > 其他 > 详细

判定两个字符是否是同构字符

时间:2020-05-18 09:46:21      阅读:50      评论:0      收藏:0      [点我收藏+]
def sameStr(self,s,t):
    s1={}
    s2={}
    for i in range(len(s)):
        if s[i]not in s1 and t[i] not in s2:
            s1[s[i]]=i
            s2[t[i]]=i
        else:
            if s1.get(s[i])==None or s2.get(t[i])==None:
                return False
            else:
                if s1.get(s[i])!=s2.get(t[i]):
                    return False
return True

思路:该题目中提到s通过替换字符得到t,则这俩个字符是同构的,首先当字符长度不等是肯定不是同构的,其次当s中存在重复字符时,因为第一次替换时,该字符已经指定,而在t中则需要在与s相对应的位置上出现对应的重复字符才能判定为同构字符,这里是通过字典来的键记录该字符,值相当于记录该字符的位置,

判定两个字符是否是同构字符

原文:https://www.cnblogs.com/zxixiu/p/12908779.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!