博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Reverse Integer
阅读量:6481 次
发布时间:2019-06-23

本文共 1685 字,大约阅读时间需要 5 分钟。

Reverse digits of an integer.

Example1: x = 123, return 321

Example2: x = -123, return -321

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.

最近做的几题好像都是考数学相关的,所以界限以及判断很重要。
 
如果为最小的负数,应该直接返回0,而不能将其转换为正数之后再转换为负数。
 
C++代码如下:
#include
#include
using namespace std;class Solution{public: int reverse(int x) { //如果x刚好等于INT_MIN,那么不能先将x转换为正数然后转换为负数 if(x==0||x==INT_MIN) return 0; int flag=1; if(x<0) { x=-x; flag=-1; } long long i=1; long long j=10; while(i<=x) { i*=10; } i=i/10; long long sum=0; while(j<=i) { sum+=(x/i)*(j/10)+(x%j)/(j/10)*i; if(flag==1&&sum>INT_MAX) return 0; else if(flag==-1&&-sum
INT_MAX) return 0; else if(flag==-1&&-sum

 

方法二:

int reverse(int x) {        if(x==0||x==INT_MIN)            return 0;        int flag=1;        if(x<0)        {            x=-x;            flag=-1;        }        long long res=0;        while(x)        {            res=res*10+x%10;            x/=10;        }        if((flag==1&&res>INT_MAX)||-res

 

转载地址:http://xyfuo.baihongyu.com/

你可能感兴趣的文章
ArcGIS网络分析之发布网络分析服务(二)
查看>>
zabbix密码修改篇
查看>>
利用memcache来同步session
查看>>
流程控制
查看>>
LeetCode:463. Island Perimeter
查看>>
【原创】Amodeler实体与ACAD实体之间进行转换
查看>>
pyinstaller使用错误 SyntaxError: Non-UTF-8 code starting with '\xb4' in file C:......
查看>>
正则表达式
查看>>
Exchange企业实战技巧(27)邮件中使用数字签名和邮件加密功能
查看>>
python并发线程那些事
查看>>
BAT大厂面试算法进阶(1)--两数之和
查看>>
mysql-5.6.27源码安装及错误解决办法
查看>>
Shell 函数、数组与正则表达式
查看>>
编译安装PHP时两个报错的解决办法
查看>>
关于python3.6安装pymssql报错
查看>>
【云快讯】之五十四《AWS提供Aurora数据库替代开源的MySQL》
查看>>
System Center 2012 SP1 Data Protection Manager 防止重复备份数据
查看>>
python实现带验证码网站的自动登陆
查看>>
关于复制Linux虚拟机后无法相互ping通的问题
查看>>
微软职位内部推荐-Software Development Engineering II
查看>>