Reverse Integer
来源:互联网 发布:手机玩电音的软件 编辑:程序博客网 时间:2024/05/24 05:56
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
这是一道倒序输出整数的题目,给出的例也很简单。
// Reverse_Integer.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<limits>
using namespace std;
int reverse(int x) {
int i;
if (x < 0)
{
i = -x;
int p;
int r = 0;
while (i > 0)
{
p = i % 10;
i = i / 10;
if (r > INT_MAX / 10 || (r = INT_MAX/10 && p > INT_MAX % 10))
{
return 0;
}
//相加的时候就已经溢出,所以无论怎么判断都是没有溢出的,所以要在之前进行判断
r = r * 10 + p;
}
return r;
}
else
{
i = x;
int p;
int r = 0;
while (i > 0)
{
p = i % 10;
i = i / 10;
if (r > INT_MAX / 10 || (r == INT_MAX/10 && p > INT_MAX % 10))
{
return 0;
}
//相加的时候就已经溢出,所以无论怎么判断都是没有溢出的
r = (r * 10) + p;
}
return r;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
cout << reverse(123);
return 0;
}
为了使得程序更加直观,将负数和非负数分来,当绕这对于复杂度没有改变。
题目中最重要的就是设置溢出条件,这一组溢出的例子是后加上去的。
溢出的条件给的要全面。题目中都是有符号的,所以用INT_MAX就可以。包含在limits头文件内。
综上所述:解决主要问题的代码很容易想到,但是想到极端的输入就不简单了,所以对于简单的问题,要以更加全面的眼光看待。
- 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
- SVN服务器搭建和使用(二)
- Frequent values(倍增RMQ)
- 大数据认知(一)之为什么使用Hadoop生态系统处理大数据而不是高性能关系型数据库
- m序列
- SVN服务器搭建和使用(三)
- Reverse Integer
- struts2原文件struts2-blank.war学习
- 【BSOJ1724】【bzoj3032】TYVJ P1924 【NOIP2013模拟】七夕祭
- 文章标题 欧几里得求两数的最大公约数,最小公倍数。
- 新的征程
- HDU 5874 Friends and Enemies
- JDK简单安装
- 从JAVA行为参数化到 JAVA8 lamada,方法引用
- 397. Integer Replacement