Leetcode第三題 回文數

2021-10-09 19:22:40 字數 1114 閱讀 6163

題目:

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

直接用字串切片:

class

solution

(object):

defispalindrome

(self, x)

:"""

:type x: int

:rtype: bool

"""if x <0:

return

false

else

: x =

str(x)

if x[::

-1]== x:

return

true

else

:return

false

看到其他大佬寫的非常漂亮的同思想**為:

class

solution

:def

ispalindrome

(self, x:

int)

->

bool

: s =

str(x)

return s == s[::

-1]

高階版:不轉換為字串進行判斷,我沒想出來,後來看大佬的是用數學思想解決,這裡附上**:

class

solution

:def

ispalindrome

(self, x:

int)

->

bool

:# 不用字串,則用數學思想解

if x <0or

(x %

10==

0and x !=0)

:return

false

rem =

0while x > rem:

rem = rem*

10+ x%

10 x = x//

10return x == rem or x == rem//

10

leetcode 簡單 第三題 回文數

判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左讀...

力扣簡單第三題 回文數

判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。輸入 121 輸出 true 輸入 121輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。輸入 10 輸出 false 解釋 從右向左讀,為 01 因此它不是乙個回文...

Leetcode第三題 兩數相加

描述 給出兩個非空的鍊錶用來表示兩個非負的證書。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。如果,我們將這兩個數加在一起,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字0之外,這兩個數字都不會以0開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8原...