К списку задач
Легко Решено: 0 Процент решений: 0%

Число-палиндром

Проверьте, читается ли число одинаково слева направо и справа налево.

Чему вы научитесь

  • Разворачивать число по цифрам
  • Сравнивать развёрнутое значение с исходным
  • Обрабатывать отрицательные числа и нули в конце

Условие

Определите, совпадают ли десятичные цифры числа n при чтении слева направо и справа налево. Отрицательные числа никогда не считаются палиндромами из-за знака минус.

Реализуйте функцию is_palindrome_number(n).

Входные данные

n: Число для проверки.

Выходные данные

Верните true, если число является палиндромом, иначе false.

Ограничения

-10¹⁸ ≤ n ≤ 10¹⁸

Примеры

Пример 1
Ввод:
n = 12321

Ожидаемый вывод:
expected = True
Ввод:
long long n = 12321;

Ожидаемый вывод:
bool expected = true;
Ввод:
long n = 12321;

Ожидаемый вывод:
bool expected = true;

Пояснение

12321 в обратном порядке — это 12321.

Пример 2
Ввод:
n = -121

Ожидаемый вывод:
expected = False
Ввод:
long long n = -121;

Ожидаемый вывод:
bool expected = false;
Ввод:
long n = -121;

Ожидаемый вывод:
bool expected = false;

Пояснение

Знак минус делает "-121" отличным от "121-".

Как подступиться

Сначала попробуйте сами, затем открывайте подсказки по одной.

Подсказка 1

Отрицательное число не может быть палиндромом из-за знака минус.

Подсказка 2

Сравнивай цифры числа с обоих концов, а не преобразуй его без необходимости.

Подсказка 3

Однозначные числа всегда являются палиндромами.

Ожидаемая сложность

время O(log n), доп. память O(1)

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.