leetcode--205--同构字符串

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

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

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

示例 1:

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

示例 2:

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

示例 3:

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

说明:

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

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

思路:
1、同构就是说两个字符串有同样的结构,比如ABB和CDD,这就是相同的结构
2、本解法是遍历字符串s,判断字符串s中每个元素的索引位置和t的索引位置是否相同,即可判断两字符串是否同构

Python代码:

class Solution(object):
    def isIsomorphic(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        for i in range(len(s)):
            if s.index(s[i]) != t.index(t[i]):
                return False
        return True

C++代码:

class Solution {
public:
    bool isIsomorphic(string s, string t) {
        for (int i=0; i<s.size(); i++){
            if(s.find(s[i]) != t.find(t[i])){
                return false;
            }
        }
        return true;
    }
};
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容