力扣 7 整數反轉

2022-03-29 10:22:23 字數 1045 閱讀 6290

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

示例 1:

輸入: 123

輸出:

321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出:

21

注意:

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

1. 先獲取x的符號

2. 負數轉化成正數

3. 反轉到乙個long範圍的整形數中

4. 加上符號後判斷是否溢位,如果溢位則輸出0,否則輸出結果

1

class

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進行判斷,如果不溢位再加上餘數

1

class

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