Задача 5: Изоморфные строки

Напишите определение функции def is_isomorphic(s, t), которая принимает два строковых аргумента s и t.

Функция должна определить, являются ли строки изоморфными.
Две строки считаются изоморфными, если символы одной строки можно заменить на символы другой строки таким образом, чтобы:

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

Примеры:

Пример 1:

Ввод:
s = "egg", t = "add"

Вывод:
true

Объяснение:
Строки s и t можно сделать идентичными, используя следующие преобразования:

  • Символ 'e' заменяется на 'a'.
  • Символ 'g' заменяется на 'd'.

Пример 2:

Ввод:
s = "foo", t = "bar"

Вывод:
false

Объяснение:
Строки s и t не могут быть сделаны идентичными, так как 'o' пришлось бы заменить как на 'a', так и на 'r'.


Пример 3:

Ввод:
s = "paper", t = "title"

Вывод:
true

Объяснение:
Строки s и t можно сделать идентичными, используя следующие преобразования:

  • 'p' заменяется на 't'.
  • 'a' заменяется на 'i'.
  • 'e' заменяется на 'l'.
  • 'r' заменяется на 'e'.

При этом порядок символов сохраняется.

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии