力扣7 整數反轉

2022-09-13 07:45:11 字數 884 閱讀 3916

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

注意:假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231,  231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。

此題主要是溢位 如果不考慮溢位可以直接用數學方法

int rev = 0

;while(x!=0

考慮溢位時 需要注意範圍是 (-2147483648,214748367)

所以有些情況溢位

1. 當rev>int.maxvalue/10且 還要加個pop(rev>21474836 , rev*10大於int.maxvalue) 

2.當rev==int.maxvalue/10pop>7(rev = 21474836 ,此時個位pop如果大於7,將會溢位)

3.當rev4.當rev==int.minvalue/10pop>-8

public

int reverse(int

x)

return

rev;

}

附 靈魂畫師牧碼 **演算法

力扣7 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉 示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21sign x 0 x正負 maxint32 1 31 1 準備int32最大值 res 0 準備結果,初始化為0 if...

力扣(7) 整數反轉

題目描述 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。思路 先轉字串,符號位單獨考慮。對只有數字的字串進行反轉,再轉為整數型,最後與符號位相乘輸出 import math class solution def reverse self,x int int label 1 ...

力扣 7 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉...