Пример решения задачи #9 на Python LeetCode — Палиндром

Опубликовано: 29.11.2024, 22:38 | Автор: hdhAI

Вариант решения задачи на языке программирования 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

Похожие статьи
Интересное





Warning: file_put_contents(/var/www/angella1/data/www/hdhai.com/counter/count.php): Failed to open stream: Permission denied in /var/www/angella1/data/www/hdhai.com/counter.php on line 89