给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入: 123
输出: 321

 示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

============================================================================================================

基本思路:

对传入的整数判断,大于零可以直接处理,小于零处理0-x,输入超出范围直接return 0;

用是sstream来实现整形和字符串间相互转化:   gate:https://www.cnblogs.com/mckc/p/9671017.html

将字符串翻转后再转化为整形输出

转化为整形后记得判断整形是否超过32位,按题目要求,超过就return 0;

转化可以直接用algorithm里面的reserve函数,也可以自己用for来对调;

下面是ac代码:

class Solution {
public: int reverse(int x) {
stringstream ss;
string s1,s2;
int y;
if(x>||x<-)
return ; if(x<){
ss<<x;
ss>>s1;
for(auto s=s1.end()-;s!=s1.begin()-;s--){
s2+=*s;
} ss.clear();
ss<<s2;
ss>>y;
if(y>=)
return ;
return y=-y;
} else{
ss<<x;
ss>>s1;
for(auto s=s1.end()-;s!=s1.begin()-;s--){
s2+=*s;
} ss.clear();
ss<<s2;
ss>>y;
if(y>=)
return ;
return y;
}
} };

或者用reserve:

class Solution {
public: int reverse(int x) {
stringstream ss;
string s1;
int y;
if(x>||x<-)
return ; if(x<){
ss<<x;
ss>>s1;
std::reverse(s1.begin(),s1.end());
ss.clear();
ss<<s1;
ss>>y;
if(y>=)
return ;
return y=-y;
} else{
ss<<x;
ss>>s1;
std::reverse(s1.begin(),s1.end());
ss.clear();
ss<<s1;
ss>>y;
if(y>=)
return ;
return y;
}
}
};

Leetcode 7 反转整数Reverse Integer的更多相关文章

  1. [Swift]LeetCode7. 反转整数 | Reverse Integer

    Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...

  2. 7. 反转整数(Reverse Integer) C++

    知识点: 内置变量 INT_MAX   INT_MIN 运算结果是否溢出的判断 判断pop>7即pop>INT_MAX%10 判断pop<-8即pop<INT_MIN%10 c ...

  3. LeetCode 7. 反转整数(Reverse Integer)

    题目描述 给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 ...

  4. LeetCode 【2】 Reverse Integer --007

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

  5. LeetCode 4.反转整数

    给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: ...

  6. Leetcode 题目整理-2 Reverse Integer && String to Integer

    今天的两道题关于基本数据类型的探讨,估计也是要考虑各种情况,要细致学习 7. Reverse Integer Reverse digits of an integer. Example1: x = 1 ...

  7. leetcode第七题Reverse Integer (java)

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

  8. LeetCode之“数学”:Reverse Integer && Reverse Bits

    1. Reverse Integer 题目链接 题目要求: Reverse digits of an integer. Example1: x = 123, return 321 Example2:  ...

  9. leetCode练题——7. Reverse Integer

    1.题目:   7. Reverse Integer Given a 32-bit signed integer, reverse digits of an integer. Example 1: I ...

随机推荐

  1. Ruby编程实践

    命令 常量大写 类名和模块名首字母大写,驼峰法,MyClass,Person 方法名小写,ruby中末尾添加符号特殊含义:destroyMethod!表示这个方法具有破坏性:isPrime?表示返回b ...

  2. hyperledger fabric 1.0.5 分布式部署 (三)

    本篇博客主要是向读者介绍 fabric 在部署时的一些细节,还有作者自己学习过程中的心得. 初始化相关密钥的程序,实际上是一个shell脚本,并且结构特别简单 generateArtifacts.sh ...

  3. 常用SQL语句写法(一)

    <resultMap id="userResult" type="com.cloudwalk.shark.model.User"> <id p ...

  4. Mysql 主从(转)

    转自 http://blog.csdn.net/hguisu/article/details/7325124

  5. [題解]BZOJ_1260_塗色

    簡單的區間dp,結果竟然寫掛了......還掛的很徹底......狗屎 如果區間左右端點相等,那麼不需要在多花一次去刷,對 f [ i+1 ] [ j ],f [ i ] [ j-1 ]取個min, ...

  6. morphia(5)-删除

    @Test public void delete() throws Exception { final Query<Employee> query = datastore.createQu ...

  7. PARTITION RANGE ALL 的优化

    建议如下: 检查数据库的cpu 消耗 ,Sql_id :***** 消耗过多资源,这个新上线sql, 20号才上线,是对log 进行分析,平均每次执行时间300s.,使用的是PARTITION RAN ...

  8. 120 Triangle 三角形最小路径和

    给出一个三角形(数据数组),找出从上往下的最小路径和.每一步只能移动到下一行中的相邻结点上.比如,给你如下三角形:[     [2],    [3,4],   [6,5,7],  [4,1,8,3]] ...

  9. SSAS中处理时经常出现的几种错误

    1.[重复属性键的错误]"处理时找到重复的属性键"   当在[属性关系]里指定属性关系后,   就出出现此错误,因为不知道Month值“1”,并不知道是属于哪一年的,   所以需要 ...

  10. js实现文本框验证和实现小数的加减乘除

    <script type="text/javascript"> //加法 var m=accAdd(1.22,1.22); //减法 var m1=accSub(1.2 ...