LeetCode OJ: 9. Palindrome Number 迴文數字

Ping-Lun Liao
2 min readNov 5, 2019

--

題目連結 https://leetcode.com/problems/palindrome-number/

此題和高中生程式解題系統的 a022: 迴文 類似,不過此題處理的是數字。

小於零的都不是迴文數字。

此題會用到a038: 數字翻轉的技巧:

但只需要翻轉到一半即可。也就是當翻轉後的數字大於原來的數字時,即可結束迴圈,要注意邊界條件。

程式碼:

class Solution {
public:
bool isPalindrome(int x) {
// 小於零,或是個位數為零都不會是迴文
if(x < 0 || (x % 10 == 0 && x != 0)) {
return false;
}
// 翻轉後的數字
int rNum = 0;
while(x > rNum) {
rNum = rNum * 10 + x % 10;
x /= 10;
}

return x == rNum || x == rNum/10;
}
};

Orignal: https://yunlinsong.blogspot.com/2019/11/leetcode-oj-9-palindrome-number.html

--

--

No responses yet