205. Isomorphic Strings

Easy (LinkedIn)

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.

Note:

You may assume both s and t have the same length.

public class Solution {

public boolean isIsomorphic(String s, String t) {
    if(s == null || t == null) {
        if(s == null && t == null) {
            return true;
        } else {
            return false;
        }
    } else if(s.length() != t.length()) {
        return false;
    }

    Map<Character, Character> map = new HashMap<>();
    int len = s.length();

    for(int i = 0; i < len; i++) {
        char c1 = s.charAt(i);
        char c2 = t.charAt(i);

        if(map.containsKey(c1)) {
            if(map.get(c1) != c2) {
                return false;
            } 
        } else if(map.containsValue(c2)) {
            return false;
        } else {
            map.put(c1, c2);
        }
    }

    return true;
}

}

results matching ""

    No results matching ""