Легкий

Проблема

Имея две строки s и t, определите, изоморфны ли они.

Две строки изоморфны, если символы в s можно заменить, чтобы получить t.

Все вхождения символа должны быть заменены другим символом с сохранением порядка символов. Никакие два символа не могут отображаться на один и тот же символ, но символ может отображаться на самого себя.

Пример 1:

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

Пример 2:

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

Пример 3:

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

Примечание.
Вы можете предположить, что и s, и t имеют одинаковая длина.

Решение

Используйте две дополнительные хэш-карты для поддержания отношений отображения между двумя строками.

сложность

Для повторения s и t требуется время O(n), если n обозначает длину этих двух списков. На каждой итерации операции поиска и вставки хэш-карты будут занимать время O(1)/O(logn) в среднем/худшем случае. Таким образом, временная сложность будет O(n)/O(nlogn) в среднем/худшем случае.

Кроме того, из-за двух хэш-карт его пространственная сложность составляет O(n + n) = O(n).