給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1:注意:輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
用圖來表示:
按照思路進行編碼即可。
public
intreverse
(int x)
if(result < int_min || result>int_max)
return result;
}
提交後發現程式出錯,沒有通過。
考慮為什麼輸入1534236469之後應該輸出0.上網查了資料,int最大為2147483647,1534236469並沒有超出int範圍,而且題中也說了給乙個integer數,不可能超出了int範圍.那應該就是結果超出了int範圍.而且乙個int值逆序後,是有可能超過int範圍的.按照測試資料來看,如果轉換結果超過了int範圍,輸出結果應該為0.
對原程式進行調整,新增一層判斷,判斷轉換後的內容是否在int範圍內,調整後**:
public
static
intreverse
(int x)
if(anwser < int_min || anwser>int_max)
else
return result;
}
反轉整數演算法
演算法要求 給定乙個 32 位有符號整數,將整數中的數字進行反轉。給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 2 ...
演算法 整數反轉
題目 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如...
swift演算法 整數反轉
描述 給出乙個32位的有符號整數,你需要將這個整數中美位上的數字進行反轉 例1 輸入 123 輸出 321 例2 輸入 123 輸出 321 例3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 即 2147483648,2147...