給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設我們的環境只能儲存得下
32 位
的有符號整數,則其數值範圍為 [−231−2^−2
31, 2 31−
12^ − 1
231−
1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
此處應該考慮資料溢位的可能,對於本資料若是溢位則返回0,選擇適合的資料型別是乙個重要問題。
class solution
return y;
}};
輸入
輸出
本次對數的反轉採用將原數逐一從末尾拆分,從首位拼接新數。資料溢位控制採用int
型別的上下限——int_max
與int_min
加以控制。因為
int
佔4位元組32位,根據二進位制編碼的規則int_max = 2
312^
231-1
int_min= -2
312^
231
c/c++中,所有超過該限值的數,都會出現溢位,出現
warning
,但是並不會出現error
。
注意:有符號(signed)數最高位為符號位,在無溢位(overflow、underflow)的情況下,其符號位不變,符號也就不變。
Reverse Integer(反轉整型數)
reverse digits of an integer.反轉乙個整型數 example1 x 123,return 321 example2 x 123,return 321 1.個人分析 思路一 整型數轉字串 反轉字串 字串轉整型 思路二 數學解法,不斷地進行整除和取餘運算。2.個人解法 1 i...
位反轉演算法
比如0x12 0001 0010 反轉後變成 0100 1000 即0x48 static unsigned char buf 0x12,buf1 0 static int m,n for m 7,n 0 m n 0 m n buf buf1 將兩位元組short型別數高低位元組取出來 unsign...
反轉整數演算法
演算法要求 給定乙個 32 位有符號整數,將整數中的數字進行反轉。給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 2 ...