สมมติว่าเรามีจำนวนเต็ม เราต้องตรวจสอบว่าจำนวนเต็มเป็นพาลินโดรมหรือไม่ ดังนั้นจำนวนเต็มจะเท่ากันในลำดับไปข้างหน้าหรือย้อนกลับ จากนั้นตัวเลขก็คือพาลินโดรม ตัวอย่างเช่น สมมติว่าตัวเลขคือ 454 หากเรากลับด้าน มันจะเป็น 454 อีกครั้ง นี่คือพาลินโดรม ตอนนี้ถ้าตัวเลขคือ -565 แล้วกลับเป็น 565- ซึ่งไม่เหมือนกัน ดังนั้นจะไม่เป็นพาลินโดรม
เพื่อแก้ปัญหานี้ เราจะแปลงตัวเลขเป็นสตริง แล้วกลับสตริง หากสตริงและสตริงที่ย้อนกลับเหมือนกัน ตัวเลขจะเป็นพาลินโดรม ดังนั้นให้คืนค่า จริง ในกรณีนั้น มิฉะนั้น ให้คืนค่าเท็จ
มาดูการนำไปปฏิบัติเพื่อความเข้าใจที่ดีขึ้น
ตัวอย่าง
class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ val = str(x) return val == val[::-1] ob1 = Solution() print(ob1.isPalindrome(424)) print(ob1.isPalindrome(-565))
อินพุต
x = 424 x = -565
ผลลัพธ์
True False