演算法題 整數反轉

2021-10-17 19:13:56 字數 679 閱讀 4304

給你乙個 32 位的有符號整數 x ,返回 x 中每位上的數字反轉後的結果。如果反轉後整數超過 32 位的有符號整數的範圍 [−231, 231 − 1] ,就返回 0。假設環境不允許儲存 64 位整數(有符號或無符號)。

示例 1:

輸入:x = 123

輸出:321

首先,我們先檢測向原整數附加另一位數字是否會導致溢位。當不會溢位時我們再對這個數字進行處理,令該數%10,取出最後乙個數字加到result中,每加一次需要result*10,x/10.最後輸出即可.

**如下(示例):

public class zhengshufanzhuan 

public int

reversal

(int x)

//取這個數字的最後一位 到第一位

result = result *

10+ x %10;

x = x/10;

}return result;

}}

注意對是否溢位進行判斷.if ((ans * 10) / 10 != ans) {} 判斷 ans10 是否溢位,若 ans10未溢位,但 (ans10 + x%10) 溢位了,不會有這種情況,因為ans10未溢位時, ans10個位為0, x%10的取值範圍是0~9, 故ans10 + x%10一定沒有進製, 故不會溢位。

演算法題 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 class solution def reverse self,x int int if x 0 new str s...

演算法題2 整數反轉

1 字串法 將數字轉化為字串,然後利用stringbuffer類的reverse 方法反轉字串,最後通過integer.parseint 將字串轉化為整數進行輸出 private int reverse1 int input return input 0 integer.parseint res i...

每日演算法題 整數反轉 簡單

題目描述 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321示例 2 輸入 123 輸出 321示例 3 輸入 120 輸出 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 2的31次方,2的31次方 1 請根據這...