給你一個整數?x
?,如果?x
?是一個回文整數,返回?true
?;否則,返回?false
?。
回文數
是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
- 例如,
121
?是回文,而?123
?不是。
示例 1:
輸入:x = 121 輸出:true
示例?2:
輸入:x = -121 輸出:false 解釋:從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個回文數。
示例 3:
輸入:x = 10 輸出:false 解釋:從右向左讀, 為 01 。因此它不是一個回文數。
題解:
1、倒序原數后,再計算回文數是否相等
class Solution {public boolean isPalindrome(int x) {if (x < 0) {return false;}ArrayList<Integer> arrayList = new ArrayList<>();for (int num = x; num > 0; num = num / 10) {arrayList.add(num % 10);}long reverse = 0;for (int i = 0; i < arrayList.size(); i++) {reverse += arrayList.get(i) * Math.pow(10, arrayList.size() - i - 1);}if (reverse == x) {return true;}return false;}
}