题目说明:

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. 工具篇-大数据组件的一些快捷Shell操作

    一.Hbase 1. HBase shell窗口进入 执行hbase shell 2. HBase表的创建 # 语法:create <table>, {NAME => <fam ...

  2. LOJ2229. 「BJOI2014」想法(随机化)

    题目链接 https://loj.ac/problem/2229 题解 评分标准提示我们可以使用随机化算法. 首先,我们为每一道编号在 \([1, m]\) 以内的题目(这些题目也对应了 \(m\) ...

  3. 【性能测试】:关于测试F5负载均衡的问题

    在压测过程中,前置分发机的请求分发策略有多种,轮询,随机,DNS均衡,最小连接数等 问题出现的前提:因测试的一个系统对用户安全性校验较强,例如做交易之前,需要验证用户安全信息等 问题出现的现象:当lo ...

  4. C# 数组基础

    一.数组的基础知识 1.数组有什么用? 如果需要同一个类型的多个对象,就可以使用数组.数组是一种数组结构,它可以包含同一个类型的多个元素. 2.数组的初始化方式 第一种:先声明后赋值 ]; array ...

  5. log4php0.9的详细配备实例说明

    一.什么是log4php: log4j在JAVA中可算是大名鼎鼎的日志开发包了,它为apche组织维护项目,VxR兄使用php来实现了log4j的功能, 目前log4php已经作为log4j的一个子项 ...

  6. *2_3_5_加入reference model

    摘自:http://book.2cto.com/201408/46009.html 在2.1节中讲述验证平台的框图时曾经说过,reference model用于完成和DUT相同的功能. referen ...

  7. Go RabbitMQ(五)主题

    RabbitMQ topic 在之前我们将交换器的类型从fanout设置为direct后能够根据我们的选择获得响应的消息,虽然改良我们的消息日志系统,但是还有很多局限性,比如它不能基于多个标准进行路由 ...

  8. 有关查询和执行计划的DMV

    转自:http://www.cnblogs.com/CareySon/archive/2012/05/17/2506035.html 查看被缓存的查询计划 SET TRANSACTION ISOLAT ...

  9. vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据

    在vue项目中组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的话,有必要考虑引入vuex来管理这些凌乱的状态,今天这边博文用来记录这一整个的过程,后台api接口是使用webpack-se ...

  10. angular2自学笔记(三)---ng2选项卡

    学习了这些概念就能简单的描述一个选项功能的选项卡按钮: 数据:1.数组:实例化一个数组的类,如果想要使用这个类中的数据,需要在组件中 使用一个公共属性来暴漏这个类如 heroes=HEROES;con ...