Новости IT, Tech-лайфхаки & Кодинг

Пример решения задачи #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

Добавьте Hdhai в избранное и вы будете чаще видеть наши последние новости на главной Дзена и в разделе «Новости партнёров» или читайте нас в Telegram в привычном для вас формате.