摘要:判斷溢出這里使用了中的類整數(shù)類,縮寫就是的靜態(tài)變量和,就能直接得到整型變量可表示數(shù)值的上下限。當(dāng)結(jié)果不在此范圍內(nèi)時(shí),則溢出,并返回否則返回正常結(jié)果。
要點(diǎn)
這一題的要點(diǎn)有三個(gè):
接收長度不同的數(shù)字并翻轉(zhuǎn)
判斷結(jié)果是否溢出
解決方法翻轉(zhuǎn):
為了能夠接收不同長度的數(shù)字進(jìn)行反轉(zhuǎn)操作,我們使用循環(huán)結(jié)構(gòu)進(jìn)行操作。
(注:這里創(chuàng)建的sum變量一定要用long類型而不能用int,原因是采用int的話,即使結(jié)果溢出,該溢出的結(jié)果仍然在int的取值范圍內(nèi),不利于判斷溢出。所以采用占位64bit的long類型更佳。)
long sum = 0; while(x != 0){ sum = sum * 10 + x % 10; x /= 10; }
判斷溢出:
這里使用了Java中的Integer類(整數(shù)類,縮寫就是Int)的靜態(tài)變量MAX_VALUE和MIN_VALUE,就能直接得到整型變量可表示數(shù)值的上下限。
當(dāng)結(jié)果不在此范圍內(nèi)時(shí),則溢出,并返回0.
否則返回正常結(jié)果。(注:因?yàn)轭}目給定的函數(shù)返回類型為int,所以在最后返回結(jié)果時(shí)務(wù)必先將long型轉(zhuǎn)換為int型再返回。)
if(sum < Integer.MIN_VALUE || sum > Integer.MAX_VALUE) return 0; return new Long(sum).intValue();最終程序
class Solution { public int reverse(int x) { long sum = 0; while(x != 0){ sum = sum * 10 + x % 10; x /= 10; } if(sum < Integer.MIN_VALUE || sum > Integer.MAX_VALUE) return 0; return new Long(sum).intValue(); } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73992.html
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經(jīng)到題,所以后面會(huì)調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時(shí),攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區(qū)別...
摘要:題目詳情題目要求我們給出一個(gè)數(shù)的翻轉(zhuǎn)數(shù)想法這道題主要的坑就是在于一個(gè)數(shù)值的輸入,在進(jìn)行翻轉(zhuǎn)操作之后,不一定還符合的范圍,可能會(huì)造成異常。我們可以通過每次獲得整數(shù)除的余數(shù),來確定當(dāng)前整數(shù)的最后一位。 題目詳情 Given a 32-bit signed integer, reverse digits of an integer.題目要求我們給出一個(gè)數(shù)的翻轉(zhuǎn)數(shù) Example 1:Inpu...
摘要:微信公眾號記錄截圖記錄截圖目前關(guān)于這塊算法與數(shù)據(jù)結(jié)構(gòu)的安排前。已攻略返回目錄目前已攻略篇文章。會(huì)根據(jù)題解以及留言內(nèi)容,進(jìn)行補(bǔ)充,并添加上提供題解的小伙伴的昵稱和地址。本許可協(xié)議授權(quán)之外的使用權(quán)限可以從處獲得。 Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 15:25:25 一 目錄 不...
摘要:小鹿題目根據(jù)逆波蘭表示法,求表達(dá)式的值。給定逆波蘭表達(dá)式總是有效的。算法思路仔細(xì)觀察上述的逆波蘭表達(dá)式,可以發(fā)現(xiàn)一個(gè)規(guī)律就是每遇到一個(gè)操作符,就將操作符前的兩個(gè)操作數(shù)進(jìn)行運(yùn)算,將結(jié)果保存到原位置。 Time:2019/4/14Title: Evaluate Reverse Polish NotationDifficulty: MediumAuthor:小鹿 題目:Evaluate ...
摘要:這個(gè)題沒什么好說的,用棧就可以了,注意一下兩個(gè)數(shù)計(jì)算的時(shí)候誰前誰后就行了。 Evaluate Reverse Polish Notation https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/ Evaluate the value of an arithmetic expression in Reve...
閱讀 3092·2021-09-22 15:59
閱讀 1341·2021-08-30 09:46
閱讀 2300·2019-08-30 15:54
閱讀 2043·2019-08-26 12:15
閱讀 2571·2019-08-26 12:09
閱讀 1367·2019-08-26 11:57
閱讀 3359·2019-08-23 17:11
閱讀 1913·2019-08-23 15:59