給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
此題主要是溢位 如果不考慮溢位可以直接用數學方法
int rev = 0考慮溢位時 需要注意範圍是 (-2147483648,214748367);while(x!=0
)
所以有些情況溢位
1. 當rev>int.maxvalue/10且 還要加個pop(rev>21474836 , rev*10大於int.maxvalue)
2.當rev==int.maxvalue/10且pop>7(rev = 21474836 ,此時個位pop如果大於7,將會溢位)
3.當rev4.當rev==int.minvalue/10且pop>-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 請根據這個假設,如果反轉...