小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

7、Reverse Integer

 雪柳花明 2016-09-10

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Have you thought about this?

Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!

If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.

Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?

For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

Update (2014-11-10):
Test cases had been added to test the overflow behavior.

Subscribe to see which companies asked this question

題目明確提示了你要考慮反轉(zhuǎn)后溢出的的問題。如果溢出了,返回什么都不合適,那就統(tǒng)一返回一個(gè)錯(cuò)誤代碼吧,return 0吧


在C#中,用int.MaxValue表示最大數(shù)。用int.MinValue表示最小數(shù)。

123/10=12;非個(gè)位

123%10=3;個(gè)位


提交的方法應(yīng)該判斷下是否輸入的是負(fù)數(shù),但是,我添加負(fù)數(shù)的處理邏輯,就報(bào)錯(cuò)了。

我在實(shí)際的VS13的C#項(xiàng)目中測(cè)試了一下,發(fā)現(xiàn)沒有錯(cuò)。就算輸入為負(fù)數(shù),下面的代碼輸出依然正確。

是我想錯(cuò)了。錯(cuò)的原因是我數(shù)序的錯(cuò)誤。-45%10 =-5;我想當(dāng)然的認(rèn)為只有正數(shù)才能取余數(shù)。

public class Solution {

    public int Reverse(int x) {

        long sum=0;

        while(x!=0)

        {

            int s=x%10;//取得個(gè)位數(shù)

            sum=sum*10+s;//

            x=x/10;

        }

        if(sum>int.MaxValue||sum<int.MinValue)

        {

            return 0;

        }

        return (int)sum;

    }

}




    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多