前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 205. 同构字符串

LeetCode 205. 同构字符串

原创
作者头像
freesan44
修改2021-10-26 18:12:27
3410
修改2021-10-26 18:12:27
举报
文章被收录于专栏:freesan44freesan44

题目地址(205. 同构字符串)

https://leetcode-cn.com/problems/isomorphic-strings/

题目描述

代码语言:txt
复制
给定两个字符串?s?和?t,判断它们是否是同构的。

如果?s?中的字符可以按某种映射关系替换得到?t?,那么这两个字符串是同构的。

每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

?

示例 1:

输入:s = "egg", t = "add"
输出:true


示例 2:

输入:s = "foo", t = "bar"
输出:false

示例 3:

输入:s = "paper", t = "title"
输出:true

?

提示:

可以假设?s?和 t 长度相同。

思路

用字典来遍历是否对应

代码

  • 语言支持:Python3

Python3 Code:

代码语言:txt
复制
class Solution:
    def isIsomorphic(self, s: str, t: str) -> bool:
        resDict = dict()
        for index,val in enumerate(s):
            if val in resDict:
                if resDict[val] != t[index]:
                    return False
            else:
                resDict[val] = t[index]
        resDict = dict()
        for index,val in enumerate(t):
            if val in resDict:
                if resDict[val] != s[index]:
                    return False
            else:
                resDict[val] = s[index]
        return True

复杂度分析

令 n 为数组长度。

  • 时间复杂度:$O(n)$
  • 空间复杂度:$O(n)$

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目地址(205. 同构字符串)
  • 题目描述
  • 思路
  • 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com