LeetCode 7 反轉整數

2021-09-11 13:09:01 字數 895 閱讀 7471

給定乙個 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 根據這個假設,如果反轉後的整數溢位,則返...