7.Reverse Integer

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123

Output: 321

Example 2:

Input: -123

Output: -321

Example 3:

Input: 120

Output: 21

Note:

Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

没有想出来, 仿照(或者照搬?)http://www.cnblogs.com/grandyang/p/4125588.html来写

注意点:

反转溢出问题, 解决方法: 使用比该数字范围大的类型定义返回值

版本一: 拆分每个位的思想是我的, 其他细节参考上述博客

class Solution {
public:
int reverse(int x) {
long long res = 0;
vector<int> bit; while (0 != x) {
bit.push_back(x % 10);
x /= 10;
} for (int i = 0; i < bit.size(); i++) {
res =res * 10 + bit[i];
} return (res < INT_MIN || res > INT_MAX) ? 0 : res;
}
};

版本二: 半个自己写的, 考虑符号, 虽然多余了

class Solution {
public:
int reverse(int x) {
long long ret = 0;
// int positive = 1;
long long positive = 1; if (x < 0) {
positive = -1;
x *= positive;
} while (x != 0) {
ret = ret * 10 + x % 10;
x /= 10;
} ret *= positive; return (ret < INT_MIN || ret > INT_MAX) ? 0 : ret;
}
};
class Solution {
public:
int reverse(int x) {
long long int ret = 0; while(0 != x) {
ret = ret*10 + x%10;
x /= 10;
} //return (ret > INT_MIN || ret < INT_MAX)? ret : 0;
return (ret < INT_MIN || ret > INT_MAX) ? 0 : ret;
}
};

最新文章

  1. 【Win10应用开发】相对布局(RelativePanel)
  2. Web软件安全攻击
  3. 创建naarray(1)
  4. Maven常用插件配置和使用
  5. angular popover的触发问题;
  6. Git版本控制管理教程(一):介绍
  7. JAVA_内部类
  8. jQuery中有关each方法的使用
  9. xpath 选取指定文本内容可能是多种情况下的语法
  10. IIS应用程序池_缓存回收
  11. Cetos 7 防火墙设置
  12. class, extends和super es6语法
  13. jpg转yuv420抠图后转为jpg
  14. 关于质能等效的两个思想实验 Two Ideological Experiments on Mass-Energy Equivalence
  15. 〖Android〗联想K860 logcat CM11.0出错信息及解决
  16. Lua语法基础(2)--基本语法、函数
  17. Jackson Gson Json.simple part 2
  18. jvisualvm连接远程应用终于成功,附踩大坑记录!!(一:jstatd方式)
  19. 双11,自动领取优惠券 js 代码
  20. TypeScript学习笔记(六) - 模块

热门文章

  1. 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构
  2. C++对话框创建及修改对话框属性
  3. 【题解】 [EZEC-4]求和
  4. farbic-sdk-java 学习部署
  5. 为Facebook messenger平台开发聊天机器人
  6. vue点击切换样式,点击切换地址栏,点击显示或者隐藏
  7. MeteoInfoLab脚本示例:读取文本文件
  8. 使用notepad++的nppexec插件格式化json和压缩json内容
  9. nginx集群:nginx配置负载均衡集群(nginx1.18.0)
  10. C# 8: 默认接口方法