[算法练习]Reverse Integer
题目说明:
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的更多相关文章
- 【算法】LeetCode算法题-Reverse Integer
这是悦乐书的第143次更新,第145篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第2题(顺位题号是7),给定32位有符号整数,然后将其反转输出.例如: 输入: 123 ...
- Reverse Integer 2015年6月23日
题目: Reverse digits of an integer. Example1: x = , return Example2: x = -, return - 思路:递归 解答: / test ...
- LeetCode 【2】 Reverse Integer --007
六月箴言 万物之中,希望最美:最美之物,永不凋零.—— 斯蒂芬·金 第二周算法记录 007 -- Reverse Integer (整数反转) 题干英文版: Given a 32-bit signed ...
- Python字符串倒序-7. Reverse Integer
今天做了下LeetCode上面字符串倒序的题目,突然想Python中字符串倒序都有哪些方法,于是网上查了下,居然有这么多种方法: 个人觉得,第二种方法是最容易想到的,因为List中的reverse方法 ...
- [LintCode] Reverse Integer 翻转整数
Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer). ...
- 65. Reverse Integer && Palindrome Number
Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, re ...
- LeetCode 7 Reverse Integer(反转数字)
题目来源:https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x = 123, ...
- No.007 Reverse Integer
7. Reverse Integer Total Accepted: 153147 Total Submissions: 644103 Difficulty: Easy Reverse digits ...
- leetcode第七题Reverse Integer (java)
Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, retu ...
随机推荐
- 分布问题(二元,多元变量分布,Beta,Dir)
这涉及到数学的概率问题. 二元变量分布: 伯努利分布,就是0-1分布(比如一次抛硬币,正面朝上概率) 那么一次抛硬币的概率分布如下: 假设训练数据如下: 那么根据最大似然估计(MLE),我 ...
- eclipse左边的项目栏消失的处理方法
window —–> Show View —–> other —–> package Explorer
- hibernate3.3.2搭建log4j日志环境
日志的框架有很多,hibernate3.3.2用的是slf4j,slf4j简单理解为一个接口,标准.具体的实现可以是不同的实现(如slf4j自己的实现,log4j等).slf就像JDBC,JPA.自己 ...
- ubuntu apache2 .htaccess 下配置 反向代理
安装完apache2后, a2enmod rewrite //启用.htaccess规则 a2enmod proxy a2enmod proxy_http //启用反向代理支持 [P] 配置OK,就可 ...
- vuex requires a Promise polyfill in this browser
ie 浏览器访问 vue 项目(使用的vuex 状态管理组件)报错:vuex requires a Promise polyfill in this browser 处理办法: 1.npm insta ...
- orcale 之pl/sql例外
orcale 中的例外我们可以看作是其他编程语言中的异常,是为了增强语言的健壮性和容错性. 在orcale中常见的有以下几种: No_data_found 很容易理解就是没有数据返回. Too_man ...
- [转载]二叉树(BST,AVT,RBT)
二叉查找树(Binary Search Tree)是满足如下性质的二叉树:①若它的左子树非空,则左子树上所有结点的值均小于根结点的值:②若它的右子树非空,则右子树上所有结点的值均大于根结点的值:③左. ...
- 05 JDK1.5 Lock锁
一.synchronized的再次讨论 使用synchronized关键字来标记一个方法或者代码块,当某个线程调用该对象的synchronized方法或者访问synchronized代码块时, 这个线 ...
- rvm的安装, 使用rvm, 安装ruby, 以及gem的使用 (转)
http://blog.163.com/digoal@126/blog/static/1638770402012425111617904/ rvm 全称Ruby Version Manager, 确 ...
- SQL Serever学习12——数据库的备份和还原
公司的服务器奔溃了,事先没相应的保护措施,使得公司遭到了较大损失,为了以后不再出现类似事件,在系统中引入备份机制,使得数据库被破坏后损失降到最低. 数据的导出和导入 数据转换服务 数据转换服务DTS( ...