給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
class solution:
def reverse(self,x):
y = str(x)
y = list(y)
y.reverse()
if y[-1] == '-':
y.remove('-')
y.insert(0,'-')
if y[0] == 0:
y.remove('0')
y2 = ''.join(y)
z = int(str(y2))
if z < (-2**31) or z > (2**31-1):
z = 0
return z
此題用python做相當簡單,但是,作為python菜鳥的我依然有個疑問,在上面**塊中,其中乙個判斷條件「if y[0] == 0」,對此我是有疑問的。輸入的整數先是轉換成字串型別進而轉換成列表,那麼,此時列表中的各元素型別難道不應該是字元型嗎?判斷條件不應該是「if y[0] == '0' 」嗎?因為編譯無法通過,證明我是錯的,但目前還未想出合理解釋。。。
未完,待續
解釋:'if y[0] == 0' 這句判斷語句其實是廢話,刪除這個語句仍然可以通過,原因在於y[0]始終不可能=0,而如果加上引號,呼叫remove只能刪除乙個,無法處理多個0的情況。
完畢
python整數作為條件 Python基本概念介紹
2.1數 python中比較常用的就是整數和浮點數兩種,沒有小數點就是整數,有小數點就是浮點數。2.2變數 變數可以理解為乙個容器,這個容器裡面可以放各種各樣的東西,而且這個東西不特定,是可以變換的,但是為了區分不同存放資料的容器,我們就需要給各種容器起名字,也就是變數命名,從而可以通過變數名來訪問...
列舉作為整數
1 列舉作為整數 在系統內部,c語言會把列舉變數和常量作為整數來處理,預設情況下,編譯器會把整數0 1 2 3 賦給特定列舉中的常量。如列舉city中,gz fs sz dg分別被賦值0 1 2 3。而列舉變數c1被儲存為0,c2為3 2 列舉值的取值範圍 當定義乙個列舉變數時,其值可以為enum中...
7 整數反轉
鏈結 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321示例2 輸入 123 輸出 321示例 3 輸入 120 輸出 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後...