美文网首页算法提高之LeetCode刷题
205. 同构字符串(Python)

205. 同构字符串(Python)

作者: 玖月晴 | 来源:发表于2019-05-14 09:39 被阅读0次

题目

难度:★★☆☆☆
类型:字符串

给定两个字符串 s 和 t,判断它们是否是同构的。

如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。

所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。

说明:
你可以假设 s 和 t 具有相同的长度。

示例

示例 1:

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

示例 2:

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

示例 3:

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

解答

方案1:去重

同构的字符串,对应位置可以相互替换,我们可以把对应位置的两个字符拿出来,组成一个元组,用集合的方式去重,保证两个字符串去重后的长度和元素集合的长度相同即可,例如单词“paper”和“title”两个字符串,就有:
set("paper") = {"p", "a", "e", "r"},长度为4;
set("title") = {"t", "i", "l", "e"},长度为4;
而zip("paper", "title") = [("p", "t"), ("a", "i"), ("p", "t"), ("e", "l"), ("r", "e")]
set(zip("paper")) = {("p", "t"), ("a", "i"), ("e", "l"), ("r", "e")},长度为4
三者长度相同,所以"paper"和"title"同构。

class Solution(object):
    def isIsomorphic(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        return len(set(s)) == len(set(t)) == len(set(zip(s, t)))

方案2:下标位置

同步遍历两个字符串,如果存在相同位置的两个字符在之后的的字符串中出现的位置不同,则一定不同构,如果所有位置均满足条件,则两个字符串同构。

class Solution:
    def isIsomorphic(self, s, t):

        for i in range(len(s)):
            if s[i + 1:].find(s[i]) != t[i + 1:].find(t[i]):
                return False

        return True

如有疑问或建议,欢迎评论区留言~

相关文章

  • 205. 同构字符串(Python)

    题目 难度:★★☆☆☆类型:字符串 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替...

  • 205. 同构字符串

    内容 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串...

  • 205. 同构字符串

  • 205. 同构字符串

    题目描述:给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字...

  • 205. 同构字符串

  • 290. 单词规律 与 205. 同构字符串

    单词规律 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。 这里的 遵循 ...

  • 同构字符串

    本文集记录LeetCode中的部分特殊的简单难度题目,比如有特别巧妙的解法。给定两个字符串 s 和 t,判断它们是...

  • 同构字符串

    题目 难度级别:简单 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,...

  • 同构字符串

    给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构...

  • 字符串的最小表示法

    字符串的循环同构:设S=bcad,且S’是S的循环同构的串。S’可以是bcad或者cadb,adbc,dbca。而...

网友评论

    本文标题:205. 同构字符串(Python)

    本文链接:https://www.haomeiwen.com/subject/jgsjaqtx.html