整數取出每位數字 LeetCode 7 整數反轉

2021-10-18 08:04:27 字數 905 閱讀 1491

7. 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例

輸入:123輸出:321輸入:-123輸出:-321輸入:120輸出:21
一開始的思路是用除留餘數的方法,從後到前獲取x每一位上的值,然後構建新的數字res

**如下:

var reverse = function(x) //先置為正,最後加符號

while(x != 0)

if(flag) res=res*(-1)

if(res<=math.pow(-2,31)||res>math.pow(2,31)-1) return 0 //判斷倒置後的數字是否超出32位

提交過程

這裡第一次錯誤的原因是沒有注意到數字位數限制,加上判斷即可

注意:

假設我們的環境只能儲存得下 32 位的有符號整數,則數值範圍為 [−2^31, 2^31 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。

大神們較快的方法主要是將x轉為string處理

**如下:

時間效率有所提高

輸入乙個整數,將每位數字輸出

在這裡插入 片 include 程式作用 輸入乙個整數,將每一位數字輸出 程式設計思路 將每一位輸出來,我們可以先獲取這個數的最高權位是多少 t number 將從鍵盤上獲取的數 拷貝乙份給t while t 10 中 主要的作用是獲取最高位數 power 10 每執行一次就 10 t 10 對乙個...

PTA之python求取產生每位數字相同的n位數

讀入2個正整數a和b,1 a 9,1 b 10,產生數字aa a,一共b個a 輸入格式 在一行中輸入a和b。輸出格式 在一行中輸出整數aa a,一共b個a 輸入樣例1 在這裡給出一組輸入。例如 1,5輸出樣例1 在這裡給出相應的輸出。例如 11111輸入樣例2 在這裡給出一組輸入。例如 3 4輸出樣...

C 獲取整數各位數字

設定輸入正整數,獲取各位數字。第一種方式 注意 預設為9位,比如說輸入123,則輸出 從個位向更高位輸出 會是3 2 1 0 0 0 0 0 0,也就是說更高位會輸出0。如下 includeusing namespace std const long a int main long num int ...