题解 | #农场智能分类系统#

农场智能分类系统

https://www.nowcoder.com/practice/a2c9a3fce4f141a3956fe67cd00cc3e2

  • 题目考察的知识点 : 字符串,哈希表
  • 题目解答方法的文字分析:
  1. 维护一个哈希表 mapping,用于记录 s 中每个字符到 t 中对应字符的映射关系,并同时检查是否满足同构条件。
  2. 遍历 s 和 t 两个字符串,依次比较相同位置上的字符。如果当前字符已经在哈希表中出现过,那么就检查其对应的映射关系是否与当前字符相同;否则,就将其加入哈希表中。如果当前字符的映射关系与之前不同,则说明 s 和 t 不满足同构条件。当遍历结束后,如果 s 和 t 满足同构条件,则返回 "YES";否则,返回 "NO"。
  • 本题解析所用的编程语言: Python
  • 完整且正确的编程代码

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param s string字符串
# @param t string字符串
# @return string字符串
#
class Solution:
    def isIsomorphic(self, s: str, t: str) -> str:
        n = len(s)
        if n != len(t):
            return "NO"

        mapping = {}
        used_chars = set()

        for i in range(n):
            if s[i] in mapping:
                if mapping[s[i]] != t[i]:
                    return "NO"
            else:
                if t[i] in used_chars:
                    return "NO"
                mapping[s[i]] = t[i]
                used_chars.add(t[i])

        return "YES"
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务