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