有些讀者反映我寫的內容太簡單,有時候看不懂思路,我以後會記得寫好思路。
一、數值法
1.取出符號位
2.%10一次取出x的每一位,再*10變為ans
3.判斷是否超出
output =
0if x >=0:
flag=
1else
: flag=-1
x =abs(x)
while x !=0:
res = x %
10 x =
int(x/10)
output = output *
10+ res
if-2
**31
< flag * output <2**
31-1:
return flag * output
else
:return
0
二、字串法
1.強制轉換字串
2.切片反轉
3.判斷符號
class
solution
(object):
defreverse
(self, x)
:"""
:type x: int
:rtype: int
"""x =
str(x)
x=x[::
-1]if
(x[-1]
=="-"
andabs
(int
(x[:-1
])<=
2147483647))
:return
int(x[:-
1])*
-1if(x[-1
]!="-"and
int(x[:]
)<=
2147483647):
return
int(x[:]
)return
0
7 整數反轉
鏈結 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321示例2 輸入 123 輸出 321示例 3 輸入 120 輸出 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後...
7 整數反轉
解法一 對輸入數字進行整除和取餘運算,並把輸出值乘以10後與每次取餘的結果相加,直到原資料變為0 每次迴圈,原數對10取餘 結果乘以10,同時原數對10整除。c int reverse int x return rev python def reverse self,x r 0 返回值 flag 1...
7 整數反轉
給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 2 31,2 31 1 請根據這個假設,如果反轉後整數溢...