給你乙個 32 位的有符號整數 x ,返回 x 中每位上的數字反轉後的結果。示例 1:如果反轉後整數超過 32 位的有符號整數的範圍 [−231, 231 − 1] ,就返回 0。
假設環境不允許儲存 64 位整數(有符號或無符號)。
輸入:x = 123輸出:321
示例 2:
輸入:x = -123輸出:-321
示例 3:
輸入:x = 120輸出:21
示例 4:
輸入:x = 0輸出:0
對於沒有大小限制的整數反轉的一般思路:(設原數為source,反轉之後的數為destination)1)每次將source對10取餘
2)得到的餘數x加到10倍destination上,此操作相當於將destination在十進位製上向左移一位
3)將source除以10,此操作相當於將source在十進位製上向右移一位
4)終止條件為source == 0
由於整數除法是向下整除,所以對於負數也適用
由於本題加了限制「如果反轉後整數超過 32 位的有符號整數的範圍 [−231, 231 − 1] ,就返回 0」,所以每次在步驟2)中需要判斷此時的destination是否超過最大值除以10
int reverse(int x)
else
}return ans;
}
7 整數反轉
鏈結 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321示例2 輸入 123 輸出 321示例 3 輸入 120 輸出 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後...
7 整數反轉
解法一 對輸入數字進行整除和取餘運算,並把輸出值乘以10後與每次取餘的結果相加,直到原資料變為0 每次迴圈,原數對10取餘 結果乘以10,同時原數對10整除。c int reverse int x return rev python def reverse self,x r 0 返回值 flag 1...
7 整數反轉
有些讀者反映我寫的內容太簡單,有時候看不懂思路,我以後會記得寫好思路。一 數值法 1.取出符號位 2.10一次取出x的每一位,再 10變為ans 3.判斷是否超出 output 0if x 0 flag 1else flag 1 x abs x while x 0 res x 10 x int x ...