7 整數反轉

2021-09-12 12:53:19 字數 1106 閱讀 5026

有些讀者反映我寫的內容太簡單,有時候看不懂思路,我以後會記得寫好思路。

一、數值法

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 請根據這個假設,如果反轉後整數溢...