Tuesday, August 25, 2015

Leetcode 205. Isomorphic Strings

https://leetcode.com/problems/isomorphic-strings/

This is a thing of mapping. On each occurrence, record the mapping. If one char maps to two chars, False; or two chars map to the same char, False.

Solution:
# T:O(n) S:O(1) At most 26 mappings
class Solution:
    # @param {string} s
    # @param {string} t
    # @return {boolean}
    def isIsomorphic(self, s, t):
        length, dict = len(s), {}
        for i in xrange(length):
            if s[i] not in dict:
                if t[i] in dict.values():
                    return False
                dict[s[i]] = t[i]
            else:
                if dict[s[i]] != t[i]:
                    return False
        return True
Run Time: 64 ms

No comments:

Post a Comment