給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1:
輸入:123輸出:321注意: 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
//這是錯誤的**
int reverse(int x)
long long y = 0;
for (; x > 0;)
if ((y < -1*pow(2, 31)) || y > (pow(2, 31) - 1))
return 0;
if (flag)
return y;
else
return y * -1;
}
下面是正確的**:
class solution
if ((y < -1 * pow(2, 31)) || y > (pow(2, 31) - 1))
return 0;
return y;
}};
官方題解:說實話第一遍沒看懂
我是直接用的longlong解決的問題,題解裡面是檢測最後一位還有乘10之後與int_max的關係可以少一點記憶體。
while (x != 0)
*/
力扣 7 整數反轉 簡單
描述 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21較優的解決方案 class solution return ans 思路解析 講真,咱沒啥特點,就是笨.看到這個題也...
力扣題庫 整數反轉
給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉...
力扣7 整數反轉
給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉 示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21sign x 0 x正負 maxint32 1 31 1 準備int32最大值 res 0 準備結果,初始化為0 if...