1. 程式人生 > 其它 >Python3_Leetcode #9 迴文數題解

Python3_Leetcode #9 迴文數題解

思路:

1. 數字倒序比較法(基於LeetCode#8 數字反轉來完成)

  a. 將輸入數字通過%10 求餘 取反轉

  b.反轉後數字與原來輸入比較,一致則返回true

python3:

defisPalindrome(self,x:int)->bool:
ifx<0:  #一開始加了x%10 == 0 這個判斷,但是這樣如果輸入0 則會是錯誤的。所以去除 returnFalse reverse=0 original=x
whilex>0: x,pop=divmod(x,10) reverse=reverse*10+pop ifreverse==original: returnTrue else: returnFalse 2. 字串反轉比較 思路和1類似,只不過通過字串來進行反轉。 defisPalindrome(self,x:int)->bool:
ifx<0: returnFalse elifx==0: returnTrue else: y=int(str(x)[::-1]) ifx==y: returnTrue else: returnFalse ----------------------------------------------

class Solution:
def isPalindrome(self, x: int) -> bool:return str(x)==str(x)[::-1]