Palindrome Number
يكون العدد متماثلًا إذا قُرئ بالطريقة نفسها من اليسار إلى اليمين ومن اليمين إلى اليسار.
121 عدد متماثل. أما 123 فليس كذلك، لأنه عند قراءته بالعكس يصبح 321.
العدد السالب لا يكون متماثلًا أبدًا: فعند قراءة -121 بالعكس يصبح 121-.
حاول حل المسألة من دون تحويل العدد إلى سلسلة نصية: ابنِ العدد المعكوس رقمًا رقمًا ثم قارنه.
اكتب دالة باسم isPalindrome تأخذ عددًا صحيحًا x وتُرجع true إذا كان x عددًا متناظرًا، وfalse خلاف ذلك.
القيود: -2^31 <= x <= 2^31 - 1
الدالة
- arg1integer
- تُرجعboolean
أمثلة
- المدخلات
- arg1 = 121
- المخرجات
- true
- المدخلات
- arg1 = -121
- المخرجات
- false
+8 اختبارات مخفية عند الإرسال
تلميحات
افتحها واحدًا تلو الآخر. كل تلميح يكشف أكثر قليلًا.
لا يمكن أن تكون الأعداد السالبة متناظرة أبدًا، لذا تعامل معها أولًا.
خذ الرقم الأخير باستخدام
x % 10واحذفه بالقسمة الصحيحة على10.كوّن الرقم المعكوس باستخدام
reversed = reversed * 10 + digit، ثم قارنه بالرقم الأصلي.
شرح كامل لهذه المسألة قادم قريبًا.
مسائل مشابهة
مسائل تعتمد على الأفكار نفسها. حلّ اثنتين أو ثلاث منها يثبّت النمط.
Python
def isPalindrome(x):
# اكتب الكود هناالحالة 1
الحالة 2
المدخلات
arg1 = 121
المتوقع
true