diff --git a/src/main/java/leetcode/editor/cn/IsomorphicStrings.java b/src/main/java/leetcode/editor/cn/IsomorphicStrings.java new file mode 100644 index 0000000..68b910d --- /dev/null +++ b/src/main/java/leetcode/editor/cn/IsomorphicStrings.java @@ -0,0 +1,71 @@ +//给定两个字符串 s 和 t,判断它们是否是同构的。 +// +// 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 +// +// 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。 +// +// +// +// 示例 1: +// +// +//输入:s = "egg", t = "add" +//输出:true +// +// +// 示例 2: +// +// +//输入:s = "foo", t = "bar" +//输出:false +// +// 示例 3: +// +// +//输入:s = "paper", t = "title" +//输出:true +// +// +// +// 提示: +// +// +// 可以假设 s 和 t 长度相同。 +// +// Related Topics 哈希表 字符串 +// 👍 366 👎 0 + +package leetcode.editor.cn; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +//205:同构字符串 +public class IsomorphicStrings{ + public static void main(String[] args) { + //测试代码 + Solution solution = new IsomorphicStrings().new Solution(); + solution.isIsomorphic("badc","baba"); + } + //力扣代码 + //leetcode submit region begin(Prohibit modification and deletion) +class Solution { + public boolean isIsomorphic(String s, String t) { + Map sMap = new HashMap<>(); + Map tMap = new HashMap<>(); + for (int i = 0; i < s.length(); i++) { + char sch = s.charAt(i); + char tch = t.charAt(i); + if((sMap.containsKey(sch)&&sMap.get(sch)!=tch)||(tMap.containsKey(tch)&&tMap.get(tch)!=sch)){ + return false; + } + sMap.put(sch,tch); + tMap.put(tch,sch); + } + return true; + } +} +//leetcode submit region end(Prohibit modification and deletion) + +} \ No newline at end of file diff --git a/src/main/java/leetcode/editor/cn/IsomorphicStrings.md b/src/main/java/leetcode/editor/cn/IsomorphicStrings.md new file mode 100644 index 0000000..c772ca7 --- /dev/null +++ b/src/main/java/leetcode/editor/cn/IsomorphicStrings.md @@ -0,0 +1,35 @@ +

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

+ +

如果 中的字符可以按某种映射关系替换得到 ,那么这两个字符串是同构的。

+ +

每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

+ +

 

+ +

示例 1:

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

示例 2:

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

示例 3:

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

 

+ +

提示:

+ + +
Related Topics
  • 哈希表
  • 字符串
  • \n
  • 👍 366
  • 👎 0
  • \ No newline at end of file