Leetcode7 整數翻轉

2021-09-27 08:53:27 字數 1334 閱讀 2564

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

示例 1:

輸入:

123輸出:

321

示例 2:

輸入:

-123

輸出:-321

示例 3:

輸入:

120輸出:

21

注意:

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

特別注意:

這道題的難點不在於演算法,在於超範圍的時候怎麼處理,最初的時候是定義成long型,或者long long 型都行不通。

完整**:

#include

#include

using

namespace std;

//2e31-1=2147483647

intreverse

(int x)

return res;

}int

main()

提交結果:

執行結果:

通過顯示詳情

執行用時 :

8 ms, 在所有 c++ 提交中擊敗了52.22

%的使用者

記憶體消耗 :

8.2 mb, 在所有 c++ 提交中擊敗了78.71

%的使用者

說明:

c++中,可用int_max,int_min來表示int型的最大值和最小值,

int_max=2e31-1,int_min=-2e31

int_min=

-2147483648

int_max=

2147483647

long_min=

-2147483648

long_max=

2147483647

long_long_min=

9223372036854775807

long_long_max=

9223372036854775807

**中的214748364也就是int_max/10。

另一種簡單明瞭的方法:

class

solution

x /=10

;}return

(int

)temp;}}

;

leetCode7 翻轉整數

給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返回 0。分...

LeetCode 7 整數翻轉

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

Leetcode 7 整數翻轉 C

思路 首先,記下原數值的正負性,用乙個long long的值開始反轉,最後得到的結果加上正負性,如果沒有溢位的話就返回結果 class solution else mark 1 while num 0 ans mark if ans maxx ans maxx return0 else return...