9題 回文數

2021-10-01 02:34:59 字數 1627 閱讀 8982

判斷乙個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。

示例 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 輸出 ...