Пример решения задачи #9 на Python LeetCode — Палиндром
Вариант решения задачи на языке программирования Python с LeetCode.
Категория: Алгоритмы.
Название задачи: Палиндром (Palindrome Number).
Сложность: Легкая.
Статус решения: "Решено".
Условие задачи:
Дано целое число x. Вернуть True, если x является палиндромом, иначе False.
Решение:
Python
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
# Базовые случаи:
# Отрицательные числа не являются палиндромами
if x < 0:
return False
# Однозначные числа всегда являются палиндромами
if x < 10:
return True
# Преобразуем число в строку для удобства сравнения
num_str = str(x)
# Сравниваем исходную строку с перевернутой
return num_str == num_str[::-1]
Объяснение кода
Базовые случаи:
Отрицательные числа
Отрицательные числа сразу отбрасываются, так как они не могут быть палиндромами из-за знака минус.
Однозначные числа
Однозначные числа всегда являются палиндромами, поэтому нет необходимости в дальнейших проверках.
Преобразование в строку
Число преобразуется в строку для удобного доступа к отдельным цифрам. Это позволяет сравнивать исходную строку с ее перевернутой версией.
Сравнение строк
Используется срезание строк в Python ([::-1]) для создания перевернутой копии исходной строки.
Сравниваются исходная и перевернутая строки. Если они равны, то число является палиндромом, и функция возвращает True.
Источник решения: hdhai.com