题解 | #农场智能分类系统#
农场智能分类系统
https://www.nowcoder.com/practice/a2c9a3fce4f141a3956fe67cd00cc3e2
- 题目考察的知识点 : 字符串,哈希表
- 题目解答方法的文字分析:
- 维护一个哈希表 mapping,用于记录 s 中每个字符到 t 中对应字符的映射关系,并同时检查是否满足同构条件。
- 遍历 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题的解法思路