题目说明:

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. JS实现瀑布流

    HTML:先让图片充满一页 <!DOCTYPE html> <html> <head lang="en"> <meta charset=& ...

  2. GitHub与Git指令入门

    GitHub入门 创建账户 之前做代码版本控制都是在bitbucket上面的私有仓库.现在开源社区挺火的,想在github找些开源的工程学习一下,于是加入了github,这里记录一下入门的经历. 首先 ...

  3. vue引入bootstrap和fontawesome

    npm install jquery npm install bootstrap npm install popper.js. import $ from 'jquery' import 'boots ...

  4. 3D效果

    3D transform:rotate3d(x,y,z,a) (0.6,1,0.5,45deg) transform-origin 允许改变转换元素的位置,(中心点) transform-style ...

  5. 16G的U盘 4G的压缩

    文件系统格式原因,或是你的U盘是扩容盘(就是实际容量和显示的不一样)常用文件系统支持的单个文件大小: FAT16 支持单个文件最大不超过2GB FAT32 支持单个文件最大不超过4GB(有人说实际超过 ...

  6. Python(1):入门

    安装: 在linux中一般都自带有python2.7的版本,如果想升级python到最新的版本可以参考其他博客(http://www.cnblogs.com/lanxuezaipiao/archive ...

  7. Vue生命周期学习

    转自https://www.w3cplus.com/vue/vue-instances-and-life-cycles.html Vue实例虽然没有完全遵循MVVM模型,但Vue的设计无疑受到了它的启 ...

  8. 计算细胞数【BFS】

    问题描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数. 输入格式 2行:第1行为两个整数 mm, nn, 代表矩阵 ...

  9. [编程] C语言结构体指针作为函数参数

    结构体指针作为函数参数:结构体变量名代表的是整个集合本身,作为函数参数时传递的整个集合,也就是所有成员,而不是像数组一样被编译器转换成一个指针.如果结构体成员较多,尤其是成员为数组时,传送的时间和空间 ...

  10. 一:Bootstrap-css样式

    页面大块布局: div.container 栅格系统: 一行分成 12 列 div.row div.col-md-12 div.col-xs-12 <div class="row&qu ...