//(不同解法持續更新中……)//
判斷乙個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 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 不是。思路一 先將整數轉為字串 然後將字串分割為陣列,只需要迴圈陣列的一半長度進行判斷對應元素是否相等即可。這種方...