题解 | #农场智能分类系统#
农场智能分类系统
https://www.nowcoder.com/practice/a2c9a3fce4f141a3956fe67cd00cc3e2
题目考察的知识点
考察哈希表的应用
题目解答方法的文字分析
使用一个哈希表来存储对应的k-v关系,如果说已有这个映射的存在而此时值对应不上就说明无法成对应结构。对应关系存在的就去看映射关系是否正确。具体细节参看代码
本题解析所用的编程语言
使用Java解答
完整且正确的编程代码
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @param t string字符串
* @return string字符串
*/
public String isIsomorphic (String s, String t) {
// write code here 两种特殊情况
if (s.length() != t.length())return "NO";
if (s.length() == 0 )return "YES";
HashMap<Character, Character> map = new HashMap<Character, Character>();
for (int i = 0; i < s.length(); i++) { //遍历
//map中有映射关系
if (map.containsKey(s.charAt(i))) {
if (t.charAt(i) != map.get(s.charAt(i)))return "NO"; //判断是否对应上
} else if (map.containsValue(t.charAt(i))) {
return "NO";
} else {
map.put(s.charAt(i), t.charAt(i));
}
}
return "YES";
}
}