leetcode之reverse Integer
2016-04-04 22:53
295 查看
题目的难点在于溢出条件的判断,所以在对result声明的时候就得用long,而非int
(1)C语言实现
int reverse(int x) {
long result = 0;
int sign = x>0?1:-1;
while(x){
int m = x%10;
result = result*10+m;
x /= 10;
}
return (result>INT_MAX||result<INT_MIN)?0:result;
}
(2)C++实现
class Solution {
public:
int reverse(int x) {
//if(x>INT_MAX||x<INT_MIN)
// return 0;
int sign = x>0?1:-1;
x = abs(x);
long result = 0;
while(x){
int m = x%10;
result = result*10+m;
x /= 10;
}
return (result>INT_MAX||result<INT_MIN)?0:result*sign;
}
};
*/
/*解法二
class Solution {
public:
int reverse(int x) {
long long res = 0;
while(x) {
res = res*10 + x%10;
x /= 10;
}
return (res<INT_MIN || res>INT_MAX) ? 0 : res;
}
};
*/
(1)C语言实现
int reverse(int x) {
long result = 0;
int sign = x>0?1:-1;
while(x){
int m = x%10;
result = result*10+m;
x /= 10;
}
return (result>INT_MAX||result<INT_MIN)?0:result;
}
(2)C++实现
class Solution {
public:
int reverse(int x) {
//if(x>INT_MAX||x<INT_MIN)
// return 0;
int sign = x>0?1:-1;
x = abs(x);
long result = 0;
while(x){
int m = x%10;
result = result*10+m;
x /= 10;
}
return (result>INT_MAX||result<INT_MIN)?0:result*sign;
}
};
*/
/*解法二
class Solution {
public:
int reverse(int x) {
long long res = 0;
while(x) {
res = res*10 + x%10;
x /= 10;
}
return (res<INT_MIN || res>INT_MAX) ? 0 : res;
}
};
*/
相关文章推荐
- C++ 赋值运算符=重载
- [经验]你想不到的PhpExcel导不出文件的原因
- hello world
- LeetCode之旅(20)-Power of Three
- USACO 1.1-beads
- LeetCode之旅(20)-Power of Three
- LeetCode之旅(20)-Power of Three
- 【算法学习】顺序串及快速排序算法
- 2. PDO 的使用
- View的测量
- 支付宝,微信接入需要注意点,招行银企直连接入注意点
- 模拟ATM柜员机界面
- Spring事务传播属性和级别
- php页面静态化
- 线性表的
- zookeeper3.4.6的可视化zkui2.0的安装
- 第十七章 适配器模式
- 如何调优JVM - 优化Java虚拟机(大全+实例)
- spring学习笔记(3)-aspectj的五种通知方法
- Android 学习笔记(5)—— ProgressBar