zoukankan      html  css  js  c++  java
  • 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.

    Example 1:

    Input: s = "egg", t = "add"
    Output: true
    

    Example 2:

    Input: s = "foo", t = "bar"
    Output: false

    Example 3:

    Input: s = "paper", t = "title"
    Output: true

    解释:就是像以前语文题的 aabb型 开开心心和快快乐乐就是字符同构。
    方法一:记录摆放位置
    public boolean isIsomorphic(String s, String t) {
        int[] preIndexOfS = new int[256];
        int[] preIndexOfT = new int[256];
        for (int i = 0; i < s.length(); i++) {
            char sc = s.charAt(i), tc = t.charAt(i);
            if (preIndexOfS[sc] != preIndexOfT[tc]) {
                return false;
            }
            preIndexOfS[sc] = i + 1;
            preIndexOfT[tc] = i + 1;
        }
        return true;
    }

    方法二:用hashMap记录对应关系

    public class Solution {
        public boolean isIsomorphic(String s, String t) {
            
            HashMap<Character,Character> map=new HashMap<Character,Character>();
            for(int i=0;i<s.length();i++){
                char a=s.charAt(i),b=t.charAt(i);
                if(map.containsKey(a)){
                    if(map.get(a)!=b){
                        return false;
                    }
                }else{
                    if(!map.containsValue(b)){
                        map.put(a,b);
                    }else{
                        return false;
                    }
                }
            }
            return true;
        }
    }
    苟有恒,何必三更眠五更起;最无益,莫过一日暴十日寒。
  • 相关阅读:
    Bash : 冒泡排序
    Azure Load Balancer : 支持 IPv6
    Azure Load Balancer : 简介
    sudo 与输出重定向
    Linux lsof 命令
    Bash : IO 重定向
    LVM : 快照
    2014年全年总结
    使用Kindle4rss推送自己感兴趣的博文
    换SSD硬盘,重装系统,一阵子忙乱
  • 原文地址:https://www.cnblogs.com/shaer/p/10847361.html
Copyright © 2011-2022 走看看