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

农场智能分类系统

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

  1. 题目考察的知识点

字符串,哈希表

  1. 题目解答方法的文字分析

维护两张哈希表,第一张哈希表 s2t以 s中的字符为键,映射至 t的字符为值,第二张哈希表 t2s以 t 中字符为键,映射至 s的字符为值。从左至右遍历两个字符串的字符,不断更新两张哈希表,如果出现冲突,说明两个字符串无法构成同构,返回 NO。否则返回YES。

  1. 本题解析所用的编程语言

java

  1. 完整且正确的编程代码
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @param t string字符串 
     * @return string字符串
     */
    public String isIsomorphic (String s, String t) {
        Map<Character, Character> s2t = new HashMap<Character, Character>();
        Map<Character, Character> t2s = new HashMap<Character, Character>();
        int len = s.length();
        for (int i = 0; i < len; ++i) {
            char x = s.charAt(i), y = t.charAt(i);
            if ((s2t.containsKey(x) && s2t.get(x) != y) || (t2s.containsKey(y) && t2s.get(y) != x)) {
                return "NO";
            }
            s2t.put(x, y);
            t2s.put(y, x);
        }
        return "YES";
}
}
全部评论

相关推荐

头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务