亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Leetcode Reverse Integer 中的溢出處理

Leetcode Reverse Integer 中的溢出處理

達令說 2019-04-13 08:36:25
原題有這樣的提示“Didyounoticethatthereversedintegermightoverflow?Assumetheinputisa32-bitinteger,thenthereverseof1000000003overflows.Howshouldyouhandlesuchcases?”看到有人寫了一個這樣的答案intreverse(intx){intflag=x>0?1:-1,res=0;x=x>0?x:-x;while(x>0){if((2147483647.0-x%10)/10
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

(2147483647.0-x%10)/10
我的做法是直接用long型:
publicintreverse(intx){
intsign=1;
if(x<0){
sign=-1;
x*=-1;
}
longresult=0;
while(x!=0){
result=result*10+x%10;
if(sign*result>Integer.MAX_VALUE||
sign*resultreturn0;
x=x/10;
}
return(int)result*sign;
                            
查看完整回答
反對 回復 2019-04-13
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

它判斷的是每輪的結果是否超過intif((2147483647.0-x%10)/10
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關注
  • 368 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號