讓整數進行翻轉,比如給出整數123,然後翻轉成321,如何實現呢?
其中乙個方法是通過求餘數求商法進行操作。
public class solution {
//反轉整數的方法
public int reverse(int x) {
//定義兩個變數,2防止結果溢位
long temp=x;
long result=0;
while(temp!=0){
result=result * 10+ temp%10;
tmp = tmp / 10;
// 溢位判斷
if (result < integer.min_value || result > integer.max_value) {
result = 0;
return (int) result;
注:int 2位元組(有的編譯器是4位元組) ,範圍,-2的15次方到+2的15次方減1(位元組不同範圍不同)
long 4位元組(有的編譯器是8位元組) 範圍 -2的31次方到+2的31次方減1(位元組不同範圍不同)
所以要考慮傳入數字會溢位的問題。
integer.max_value + 1 = integer.min_value
LeetCode第7題 整數反轉
給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉...
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 請根據這個假設,如果反轉後...