判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121
輸出: true
示例 2:
輸入: -121
輸出: false
解釋: 從左向右讀, 爲 -121 。 從右向左讀, 爲 121- 。因此它不是一個迴文數。
示例 3:
輸入: 10
輸出: false
解釋: 從右向左讀, 爲 01 。因此它不是一個迴文數。
這個題很簡單,常規思路解題既可。
解題思路:
- 如果是負數則一定不是迴文數,直接返回false;
- 如果是正數,則將其倒序數值計算出來,然後比較和原數值是否相等;
- 最後如果是迴文數則相等返回true,如果不是則不相等false。
class Solution {
public boolean isPalindrome(int x) {
// 判斷正負
if(x < 0) {
return false;
} else {
int num = x;
int y = 0;
// 計算反轉之後的值
while(num != 0) {
y = y * 10 + num % 10;
num /= 10;
}
// 判斷反轉後和之前的值是否相等
return y == x;
}
}
}
有問題歡迎留言哦
參考:
https://leetcode-cn.com/problems/palindrome-number/solution/
https://draw.mdnice.com/algorithm/9.html