問題
Decide whether the decimal digits of n read the same forwards and backwards. Negative numbers are never palindromes because of the minus sign.
Implement is_palindrome_number(n).
Input
n: The number to check.
Output
Return true for a palindromic number, otherwise false.
制約
-10¹⁸ ≤ n ≤ 10¹⁸
例
入力:
n = 12321
期待される出力:
expected = True
入力:
long long n = 12321;
期待される出力:
bool expected = true;
入力:
long n = 12321;
期待される出力:
bool expected = true;
解説
12321 reversed is 12321.
入力:
n = -121
期待される出力:
expected = False
入力:
long long n = -121;
期待される出力:
bool expected = false;
入力:
long n = -121;
期待される出力:
bool expected = false;
解説
The minus sign makes "-121" differ from "121-".
解き方のヒント
まずは自分で考えてから、ヒントを 1 つずつ開いてみましょう。
ヒント 1
A negative number cannot be a palindrome because of the minus sign.
ヒント 2
Compare the number’s digits from both ends rather than converting unnecessarily.
ヒント 3
Single-digit numbers are always palindromes.
目安の計算量
O(log n) time, O(1) extra space
参考資料
この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。