Menu
CoddyTech

Isomorphic Strings

FacileHachagepython iconjava iconcpp iconc iconjs icon+10

Deux chaînes sont isomorphes lorsque l’on peut renommer les caractères de la première pour obtenir la seconde. Chaque occurrence d’un caractère reçoit le même nouveau nom, deux caractères différents ne reçoivent jamais le même nom, et un caractère peut garder le sien. Pour deux chaînes s et t de même longueur, renvoie true lorsqu’elles sont isomorphes et false lorsqu’elles ne le sont pas.

Fonction

isIsomorphic(s: string, t: string) → boolean
sstring
la chaîne à renommer, des lettres et des chiffres
tstring
la chaîne à atteindre, de la même longueur que s
Renvoieboolean
vrai si un renommage bijectif des caractères de s donne t

Contraintes

  • 1 ≤ s.length ≤ 2 × 104
  • t.length == s.length
  • s et t contiennent uniquement des lettres anglaises et des chiffres. Les majuscules et les minuscules sont des caractères différents.

Exemples

Entrée
s = "noon"t = "deed"
Sortie
true
Explication
Renommez n en d et o en e. Chaque position est cohérente avec ce renommage, et les deux lettres reçoivent des noms différents.
challenge icon

Pour aller plus loin

Étant donné une liste de mots, peux-tu regrouper ceux qui sont isomorphes entre eux sans comparer chaque paire de mots ?

Réinitialiser le code
def isIsomorphic(s, t):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Arguments

s = "noon"
t = "deed"

Résultat attendu

true