Given two strings `str1` and `str2` of the same length, determine whether you can transform `str1` into `str2` by doing **zero or more** _conversions_.

In one conversion you can convert **all** occurrences of one character in `str1` to **any** other lowercase English character.

Return `true` if and only if you can transform `str1` into `str2`.

**Example 1:**

**Input:** str1 =  "aabcc ", str2 =  "ccdee "
**Output:** true
**Explanation:** Convert 'c' to 'e' then 'b' to 'd' then 'a' to 'c'. Note that the order of conversions matter.

**Example 2:**

**Input:** str1 =  "leetcode ", str2 =  "codeleet "
**Output:** false
**Explanation:** There is no way to transform str1 to str2.

**Constraints:**

*   `1 <= str1.length == str2.length <= 104`
*   `str1` and `str2` contain only lowercase English letters.


def canConvert(str1, str2):
    if str1 == str2:
        return True
    conversion = {}
    for c1, c2 in zip(str1, str2):
        if c1 in conversion and conversion[c1] != c2:
            return False
        conversion[c1] = c2
    return len(set(str2)) < 26
