zoukankan      html  css  js  c++  java
  • Java for LeetCode 205 Isomorphic Strings

    Given two strings s and t, determine if they are isomorphic.

    Two strings are isomorphic if the characters in s can be replaced to get t.

    All occurrences of a character must be replaced with another character while preserving the order of characters. No two characters may map to the same character but a character may map to itself.

    For example,
    Given "egg", "add", return true.

    Given "foo", "bar", return false.

    Given "paper", "title", return true.

    解题思路:

    用两张图保存下两个方向的映射即可,JAVA实现如下:

        public boolean isIsomorphic(String s, String t) {
    		HashMap<Character, Character> hm = new HashMap<Character, Character>();
    		HashMap<Character, Character> hm2 = new HashMap<Character, Character>();
    		for (int i = 0; i < s.length(); i++) {
    			if (hm.containsKey(s.charAt(i))
    					&& hm.get(s.charAt(i)) != t.charAt(i))
    				return false;
    			hm.put(s.charAt(i), t.charAt(i));
    			if (hm2.containsKey(t.charAt(i))
    					&& hm2.get(t.charAt(i)) != s.charAt(i))
    				return false;
    			hm2.put(t.charAt(i), s.charAt(i));
    		}
    		return true;
        }
    
  • 相关阅读:
    P2437 蜜蜂路线题解
    P1044 栈题解
    P1002 过河卒题解
    P1433 吃奶酪题解
    组合数公式
    P1036 选数题解
    十进制转二进制方法整理
    golang学习笔记 ---工作区与GOPATH
    golang学习笔记---闭包
    golang学习笔记---类型
  • 原文地址:https://www.cnblogs.com/tonyluis/p/4558936.html
Copyright © 2011-2022 走看看