Определите, совпадают ли десятичные цифры числа n при чтении слева направо и справа налево. Отрицательные числа никогда не считаются палиндромами из-за знака минус.
Реализуйте функцию is_palindrome_number(n).
Входные данные
n: Число для проверки.
Выходные данные
Верните true, если число является палиндромом, иначе false.
Ограничения
-10¹⁸ ≤ n ≤ 10¹⁸
Примеры
Ввод:
n = 12321
Ожидаемый вывод:
expected = True
Ввод:
long long n = 12321;
Ожидаемый вывод:
bool expected = true;
Ввод:
long n = 12321;
Ожидаемый вывод:
bool expected = true;
Пояснение
12321 в обратном порядке — это 12321.
Ввод:
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. Следуйте условию и ограничениям выше.