[問題:]
Reverse digits of an integer.
Example1:x = 123, return 321
Example2:x = -123, return -321
題解:給定一個(gè)整數(shù),將這個(gè)整數(shù)的數(shù)字旋轉(zhuǎn)位置。
分析:
注意點(diǎn)1:如果一個(gè)整數(shù)最后一位位0,比如:10100,那么反轉(zhuǎn)后將變成101。
注意點(diǎn)2:如果輸入的數(shù)為1000000003,那么反轉(zhuǎn)后將會(huì)出現(xiàn)溢出,需要注意。
解法:
public intreverse(intx) {
intresult =0;
while(x !=0) {
result = result *10+ x %10;// 每一次都在原來結(jié)果的基礎(chǔ)上變大10倍,再加上余數(shù)
x = x /10;// 對(duì)x不停除10
}
if(result < Integer.MIN_VALUE|| x > Integer.MAX_VALUE) {
return0;
}else{
returnresult;
}
}