Skip to content

Instantly share code, notes, and snippets.

@SteveDaulton
Last active April 10, 2024 13:54
Show Gist options
  • Save SteveDaulton/b6424ce4c894e32a3f5ccc397c0c4977 to your computer and use it in GitHub Desktop.
Save SteveDaulton/b6424ce4c894e32a3f5ccc397c0c4977 to your computer and use it in GitHub Desktop.
Efficient Integer Palindrome Checker
def is_palindrome(number: int) -> bool:
"""Return True if number is palindrome integer.
Designed to be efficient with integers of arbitrary length.
"""
if number < 0:
return False
if number < 10:
return True
reversed = 0
while number > reversed:
number, rem = divmod(number, 10)
reversed = reversed * 10 + rem
# If odd number of digits, ignore final digit in reversed.
return number == reversed or number == reversed // 10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment