reverse integer
来源:互联网 发布:mac虚拟机断网 编辑:程序博客网 时间:2024/06/15 19:56
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
click to show spoilers.
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
重点:做overflows的判断。
尝试了用long来做判断,但是在tmp*10的时候就已经出错了,所以先对这个进行判断,再对总结果判断。
int reverse(int x) {int ret = 0;//int a = (1<<30-1)*2-1; long>int//long a = (1 << 31) - 1;int mod;int tmp = ret;if (x > 0) {while (x > 0) {mod = x % 10;tmp = ret;ret = tmp * 10 + mod;x = x / 10;if (tmp != (ret - mod) / 10)return 0;}if (ret < 0)return 0;elsereturn ret;}else {x = -x;while (x > 0) {mod = x % 10;tmp = ret;ret = tmp * 10 + mod;x = x / 10;if (tmp != (ret - mod) / 10)return 0;}ret = -ret;if (ret > 0)return 0;elsereturn ret;}}
0 0
- Reverse Integer
- Reverse Integer
- Reverse Integer
- reverse integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- reverse Integer
- Reverse Integer
- Reverse integer
- Reverse Integer
- Reverse Integer
- [网易编程题] 双核处理
- java集合的一些知识点
- localStorage、sessionStorage
- poj2449 K短路模板题
- C#正则匹配(提取字符串中的数字)及C#“四舍五入”
- reverse integer
- Android总结
- Linux的task_struct中的成员及代表意义
- mysql创建视图,存储过程,事件
- thrift总结
- 监听系统广播Action
- 深入浅出RPC
- Servlet处理流程分析
- 错误1error C2143: 语法错误 : 缺少“;”(在“&”的前面)