Menu
CoddyTech

Isomorphic Strings

تكون سلسلتان متماثلتين شكليًا عندما يمكنك إعادة تسمية أحرف السلسلة الأولى للحصول على السلسلة الثانية. تحصل كل نسخة من الحرف على الاسم الجديد نفسه، ولا يحصل حرفان مختلفان على الاسم نفسه مطلقًا، ويمكن للحرف أن يحتفظ باسمه. لسلسلتين s وt لهما الطول نفسه، أعد true عندما تكونان متماثلتين شكليًا وfalse عندما لا تكونان كذلك.

الدالة

isIsomorphic(s: string, t: string) → boolean
sstring
السلسلة النصية المراد إعادة تسميتها، الحروف والأرقام
tstring
السلسلة المراد الوصول إليها، وبطول s نفسه
تُرجعboolean
صحيح إذا أمكن تحويل s إلى t عبر إعادة تسمية أحرفه تقابلًا واحدًا لواحد

القيود

  • 1 ≤ s.length ≤ 2 × 104
  • t.length == s.length
  • s وt يحتويان على أحرف إنجليزية وأرقام فقط. الأحرف الكبيرة والصغيرة محارف مختلفة.

أمثلة

المدخلات
s = "noon"t = "deed"
المخرجات
true
الشرح
أعِد تسمية n إلى d وo إلى e. يتوافق كل موضع مع إعادة التسمية هذه، ويحصل الحرفان على اسمين مختلفين.
challenge icon

سؤال إضافي

بالنظر إلى قائمة من الكلمات، هل يمكنك تجميع الكلمات المتشابهة بنيويًا معًا دون مقارنة كل زوج من الكلمات؟

إعادة ضبط الشيفرة
def isIsomorphic(s, t):
    # اكتب الكود هنا

اختبار #1

اختبار #2

اختبار #3

الوسائط

s = "noon"
t = "deed"

الإخراج المتوقع

true