給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1:
輸入: 123輸出:
321
示例 2:
輸入: -123輸出: -321
示例 3:
輸入: 120輸出:
21
注意:
假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
1. 先獲取x的符號
2. 負數轉化成正數
3. 反轉到乙個long範圍的整形數中
4. 加上符號後判斷是否溢位,如果溢位則輸出0,否則輸出結果
1class
solution
1516
//加上符號後判斷是否溢位,如果溢位則輸出0,否則輸出結果
17 result *=pm;
18if(result < integer.min_value || result >integer.max_value)
21return (int
)result;22}
23 }
時間複雜度:o(log(x)),xx 中大約有 log10(x) 位數字。空間複雜度:o(1)。
在反轉的同時判斷是否溢位
讓result 先和 integer.max_value / 10 和 integer.min_value / 10進行判斷,如果不溢位再加上餘數
1class
solution
12return
result;13}
14 }
時間複雜度:o(log(x)),xx 中大約有 log10(x) 位數字。空間複雜度:o(1)。
力扣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 請根據這個假設,如果反轉...