給出一個 32 位的有符號整數(shù)降允,你需要將這個整數(shù)中每位上的數(shù)字進行反轉(zhuǎn)薪鹦。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設(shè)我們的環(huán)境只能存儲得下 32 位的有符號整數(shù)余佛,則其數(shù)值范圍為 [?231, 231 ? 1]缭贡。請根據(jù)這個假設(shè)摔蓝,如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0扶平。
int reverse(int x){
long result=0;
bool flage=0; //狀態(tài)標(biāo)識,0為正數(shù)独榴,1為負(fù)
//數(shù)據(jù)預(yù)處理
if(x==-2147483648) //特殊數(shù)據(jù)處理
return 0;
if(x<0){
x=-(x);
flage=1;
}
while(x){
int mantissa=x%10; //獲取其尾數(shù)
x/=10; //減小其數(shù)據(jù)規(guī)模
result=result*10+mantissa;
//result*=10;
}
if(flage){
result=-result;
}
if(result<-2147483648||result>2147483647){ //如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0僧叉。
result=0;
}
return result;
}
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/reverse-integer
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán)棺榔,非商業(yè)轉(zhuǎn)載請注明出處瓶堕。