题目说明:

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return –321

 

程序代码:

#include <gtest/gtest.h>
using namespace std; int reverse2(int x)
{
int result[20] = {0};
int resultIdx = 0;
int sign = 1;
long long val = x;
if (val < 0)
{
sign = -1;
val = -val;
} while (val)
{
result[resultIdx++] = val % 10;
val /= 10;
} long long newResult = 0;
long long base = 1;
for (int i = resultIdx-1; i >= 0; i--)
{
newResult += result[i] * base;
base *= 10;
} if (newResult > 0x7FFFFFFF)
{
newResult = 0;
} newResult *= sign; return (int)newResult;
} int reverse(int x)
{
int result[20] = {0};
int resultIdx = 0; while (x)
{
result[resultIdx++] = x % 10;
x /= 10;
} long long newResult = 0;
long long base = 1;
for (int i = resultIdx-1; i >= 0; i--)
{
newResult += result[i] * base;
base *= 10;
} if ((newResult > 0x7FFFFFFF) || (newResult < -0x7FFFFFFF))
{
newResult = 0;
} return (int)newResult;
} TEST(Pratices, tReverse)
{
// 123 -> 321
ASSERT_EQ(reverse(123),321);
// -123 -> -321
ASSERT_EQ(reverse(-123),-321);
// 0 -> 0
ASSERT_EQ(reverse(0),0);
// -0 -> 0
ASSERT_EQ(reverse(-0),0);
// 0x1FFFFFFF -> 0x7FFFFFFF
ASSERT_EQ(reverse(-2147483648),0);
// -0x1FFFFFFF -> -0x7FFFFFFF
//ASSERT_EQ(reverse(-0x1FFFFFFF),-0x7FFFFFFF);
}

[算法练习]Reverse Integer的更多相关文章

  1. 【算法】LeetCode算法题-Reverse Integer

    这是悦乐书的第143次更新,第145篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第2题(顺位题号是7),给定32位有符号整数,然后将其反转输出.例如: 输入: 123 ...

  2. Reverse Integer 2015年6月23日

    题目: Reverse digits of an integer. Example1: x = , return Example2: x = -, return - 思路:递归 解答: / test ...

  3. LeetCode 【2】 Reverse Integer --007

    六月箴言 万物之中,希望最美:最美之物,永不凋零.—— 斯蒂芬·金 第二周算法记录 007 -- Reverse Integer (整数反转) 题干英文版: Given a 32-bit signed ...

  4. Python字符串倒序-7. Reverse Integer

    今天做了下LeetCode上面字符串倒序的题目,突然想Python中字符串倒序都有哪些方法,于是网上查了下,居然有这么多种方法: 个人觉得,第二种方法是最容易想到的,因为List中的reverse方法 ...

  5. [LintCode] Reverse Integer 翻转整数

    Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer). ...

  6. 65. Reverse Integer && Palindrome Number

    Reverse Integer Reverse digits of an integer. Example1: x =  123, return  321 Example2: x = -123, re ...

  7. LeetCode 7 Reverse Integer(反转数字)

    题目来源:https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x = 123, ...

  8. No.007 Reverse Integer

    7. Reverse Integer Total Accepted: 153147 Total Submissions: 644103 Difficulty: Easy Reverse digits ...

  9. leetcode第七题Reverse Integer (java)

    Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, retu ...

随机推荐

  1. word前页与后页页码断开

    方法一:以Word2013为例:1. 光标移动到目录页的最后一行,从“页面布局”选项卡“分隔符”中选择“下一页”类型的“分节符”,删除多余的行.分页符等(图1): 2. 双击正文任意一页的页眉/页脚区 ...

  2. 索引(Awakening!)

    orz写个索引,方便日后复习和补充. 目前笔记还不是很多,而且写得比较烂,望各位到访的巨佬谅解. 大概可以算作一个归纳总结? ……没链接的还没开始写或者没写完,而且不知道什么时候才能写完(咕咕咕) 一 ...

  3. springboot(十四)-分库分表-自动配置

    上一节我们是手动配置数据源的,直接在java代码里写数据库的东西,这操作我个人是不喜欢的.我觉得这些东西就应该出现在application.yml文件中. 还有,万一我们的项目在使用之后,突然需要改变 ...

  4. 04-树6 Complete Binary Search Tree (30 分)

    A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...

  5. window7 下安卓开发环境搭建

    最新Win7下配置搭建安卓开发环境 注意:因为墙的原因 google的更新服务器需要改 hosts 你懂的.. 74.125.237.1       dl-ssl.google.com  不行就VPN ...

  6. WPF自定义Button样式(按钮长度随Content长度自适应)

    代码如下: <Style x:Key="ButtonStyle" TargetType="Button"> <Setter Property= ...

  7. WPF中Style文件引用另一个Style文件中的样式

    第1种方法: 直接在当前Style文件(*.xaml)文件中使用: <ResourceDictionary.MergedDictionaries>来进行合并 <!-- 关键是注意so ...

  8. (转载)GRASP职责分配原则

    GRASP (职责分配原则) 要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效.灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈 ...

  9. JAVA是否允许返回值类型不同的重载overload或覆盖override

    在看<Thinking in java>的时候,看到子类的方法和父类的方法名字相同,但是返回值类型不同,然后就开始怀疑这属于覆盖吗,到网上找到了答案,分析见接下来的网址: http://g ...

  10. i.mx6 Android5.1.1 servicemanager本地服务

    接在之前的 i.mx6 Android5.1.1 初始化流程之init进程 i.mx6 Android5.1.1 初始化流程之init.rc解析 servicemanager是由init创建的本地服务 ...