7.Reverse Integer (INT; Overflow)
生活随笔
收集整理的這篇文章主要介紹了
7.Reverse Integer (INT; Overflow)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
?
思路:要注意溢出。用以下做法,會溢出。
class Solution { public:int reverse(int x) {int ret = 0;while(x){ret = ret * 10 + x%10;x /= 10;}return ret;} };改進(jìn)的做法:
class Solution { public:int reverse(int x) {if (x == INT_MIN) return 0;int ret = 0;int digit;bool pos = x>=0?true:false;x = abs(x); //現(xiàn)在對負(fù)數(shù)求模編譯器不統(tǒng)一,所以轉(zhuǎn)為正數(shù)操作while(x){digit = x%10;if (ret > (INT_MAX - digit) / 10) //10*ret+digit > INT_MAXreturn 0;ret = ret * 10 + digit;x /= 10;}if(pos) return ret;else return (-ret);} };?
轉(zhuǎn)載于:https://www.cnblogs.com/qionglouyuyu/p/4648584.html
總結(jié)
以上是生活随笔為你收集整理的7.Reverse Integer (INT; Overflow)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:3DMM(ACM1999)
- 下一篇: MarkdownPad2安装Awesom