Программа курса:
Задача 5: Изоморфные строки
Напишите определение функции def is_isomorphic(s, t), которая принимает два строковых аргумента s и t.
Функция должна определить, являются ли строки изоморфными.
Две строки считаются изоморфными, если символы одной строки можно заменить на символы другой строки таким образом, чтобы:
- Все вхождения одного символа заменялись одним и тем же символом, сохраняя порядок символов.
- Никакие два символа из одной строки не могут быть преобразованы в один и тот же символ.
- Символ может быть преобразован в самого себя.
Примеры:
Пример 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'.
При этом порядок символов сохраняется.