整數反轉 深度解析

2021-09-13 01:25:23 字數 1132 閱讀 4785

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

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

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

/**

* @author pocher

* @csdn部落格位址 grandmaster.blog.csdn.net

* @date 2019/3/20 13:44

*/public class demo1

/*** rev是迴圈使用的,每迴圈一次最後一位就乘以10,並在改數後面拼接上前一位,以此來實現反轉。

* 例如:輸入為321,

* 第一次迴圈 rev =0, 321的餘數pop=1, x除以10後等於32.1,但因為是整型所以自動捨去後面的小數,x=32, rev = 0*10 + 1 = 1

* 第二次迴圈 rev =1,x=32的餘數pop=2,x除以10後等於3.2,但因為是整型所以自動捨去後面的小數,x=3, rev = 1*10 + 2 = 12

* 第三次迴圈 rev =12,x=3的餘數pop=3,x除以10後等於0.3,但因為是整型所以自動捨去後面的小數,x=0, rev = 12*10 + 3 = 123

* @param x

* @return

*/public int reverse(int x)

// 小於等於integer的負整數的最大值返回0

整數反轉解析

假設環境不允許儲存 64 位整數 有符號或無符號 輸入 123 輸出 321 輸入 123 輸出 321 首先實現整數反轉 123反轉為321 當它不是1位數時,拿到它的每一位 while n 10 第一次拿到3,第二次拿到2,輸出結果要為32 既然要反轉,那麼第一次拿到的數字就要比第二次拿到的數字...

lintcode反轉整數

反轉整數 將乙個整數中的數字進行顛倒,當顛倒後的整數溢位時,返回 0 標記為 32 位整數 您在真實的面試中是否遇到過這個題?yes 樣例給定x 123,返回321 給定x 123,返回 321 標籤 相關題目 本題採用數學計算法而不是文字翻轉,所以末尾為0的翻轉不用考慮。坑就是要考慮溢位啊!一開始...

7 整數反轉

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