給定乙個 32 位有符號整數,將整數中的數字進行反轉。
輸入: 123
輸出: 321
輸入: -123
輸出: -321
輸入: 120
輸出: 21
複製**
假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231, 231 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。
public int reverse(int x)
if (temp < integer.min_value/10 || (temp == integer.min_value / 10 && remainder < -8))
//乘以10+餘數
temp = temp * 10 + remainder;
}return temp;
}複製**
1. 末位數求法
取個位數或者最後一位數的方法:通過int remainder = x % 10;
取得最後一位數,然後數本身x /= 10;
割掉最後乙個數。然後通過while(x!=0)
來迭代。
2. 越界判斷
越界分為兩種:
temp > integer.max_value/10
,那temp = temp * 10 + remainder;
肯定會溢位。
temp == integer.min_value / 10
,因為integer最大值是2147483647,尾數是7,所以,如果餘數大於7,則溢位:remainder > 7
;負數同理。
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 根據這個假設,如果反轉後的整數溢位,則返回 0。很簡單,就是不...
leetcode 7反轉整數
隨機一題 給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返...