LeetCode 練習題 9 回文數

2021-09-27 04:20:12 字數 1524 閱讀 7014

//(不同解法持續更新中……)//

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

示例 1:

輸入: 121

輸出: true

示例 2:

輸入: -121

輸出: false

解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是乙個回文數。

示例 3:

輸入: 10

輸出: false

解釋: 從右向左讀, 為 01 。因此它不是乙個回文數。

高階:

你能不將整數轉為字串來解決這個問題嗎?

x_str =

str(x)

if x_str[::

-1]!=

str(x)

:print

(false

)else

:print

(true

)

import math

if x >0:

int_bits = math.floor(math.log10(x)

) final_int =

0 x_1 = x

for i in

range

(int_bits+1)

: bit_int = x_1 //(10

**(int_bits-i)

)if bit_int ==0:

continue

else

: mid_int = bit_int*(10

**i)

x_1 -= bit_int *(10

**(int_bits-i)

) final_int += mid_int

if final_int == x:

print

(true

)else

:print

(false

)elif x==0:

print

(true

)else

:print

(false

)

執行用時 : 84 ms, 在所有 python3 提交中擊敗了87.50%的使用者

記憶體消耗 : 14 mb, 在所有 python3 提交中擊敗了5.01%的使用者

執行用時 : 184 ms, 在所有 python3 提交中擊敗了5.79%的使用者

記憶體消耗 : 13.9 mb, 在所有 python3 提交中擊敗了5.01%的使用者

leetcode題目9 回文數

判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 輸入 121 輸出 true解法一 數字轉字串 class solution def ispalindrome self,x type x int rtype bool if x 0 return fals...

LeetCode筆記 9 回文數

給你乙個整數 x 如果 x 是乙個回文整數,返回 true 否則,返回 false 回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。例如,121 是回文,而 123 不是。示例 1 輸入 x 121輸出 true 示例 2 輸入 x 121 輸出 false 解釋 從左向右讀,為 12...

leetcode演算法9 回文數

目錄 給你乙個整數 x 如果 x 是乙個回文整數,返回 true 否則,返回 false 回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。例如,121 是回文,而 123 不是。思路一 先將整數轉為字串 然後將字串分割為陣列,只需要迴圈陣列的一半長度進行判斷對應元素是否相等即可。這種方...