判斷乙個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121
輸出: true
示例 2:
輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是乙個回文數。
示例 3:
輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是乙個回文數。
利用stringbulider的reverse方法
public
class
test2
return
false
;}
第二種方式
利用數學的方式來實現 以回文數12321來做示例
1.首先獲取這個數字是幾位數 用int bit來記錄
可以利用math.log10()這個方法來獲取 獲取的值為位數-1(log10為高中數學知識 對數函式)
12321是5位 所以bit = 4;
2.判斷第一位和最後一位是否相等
.求最後一位的值的方法 可以用%10取餘 的方法
int last = 12321%10此處last=1
math.pow(10,bit)就是指10的bit次方 此處為10的4次方 即10000
用12321/10000就可以取得第乙個值即 1
int first =(int) (12321/math.pow(10,bit))
判斷是否相等 如果不等就返回false
if(first!=last)
3. 如何去除頭尾
用 12321%10000=2321 2321/10=232
即12321%10000/10=232
因為數字短了兩位 所以將bit-2
進入下一次迴圈
下面看**
public
static
boolean
ispalindrome2
(int x)
int bit =
(int
) math.
log10((
double
) x)
;//獲取當前數的位數 4
while
(x!=0)
//將x去頭去尾巴
x =(int
)(x%
(math.
pow(
10,bit))/
10); bit = bit-2;
}return
true
;}
LeetCode Python刷題 9 回文數
leetcode 9.回文數 題目 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例1 輸入 121 輸出 true 示例2 輸入 121 輸出 false 示例3 輸入 10 輸出 false def ispalindrome x falseflag 0...
Leetcode刷題(9 回文數)
三.提交記錄 四.備註 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 f...
Leetcode刷題指南 回文數 9
2 思路 3 要求 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。樣例 示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 ...