Reverse Integer - 反转一个int,溢出时返回0

时间:2022-08-10 03:36:40

Reverse Integer

Reverse digits of an integer.

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

若反转的数溢出,直接返回0

可以用计算结果来判断溢出,也可以用因数来判断

Java代码实现:

 public class ReverseInteger {
     public static int reverseInt(int x){
         if (x == 0) {
             return 0;
         }
         int flag = -1;
         int result = 0;
         if (x < 0) {
             x = x * flag;
             if (x < 0) {
                 return 0;
             }
         } else {
             flag = 1;
         }
         int digits = 1;
         int temp = x;
         while(temp/10 != 0){
             digits++;
             temp/=10;
         }
         //judge before calculate at every may out of range place
         for (int i = 1; i <= digits; i++) {
             int a,b;
             a = (int) (x/Math.pow(10, i-1));
             a = a%10;//get the single number
             b = (int) Math.pow(10, digits-i);
             if ((a*b<0) || (a > 2 && (digits - i) == 9)) {//use number to judge
                 return 0;
             } else {
                 temp = a*b;
             }
             if (result + temp < 0) {//judge
                 return 0;
             } else {
                 result += temp;
             }
         }
         return result*flag;
     }
     public static void main(String args[]){
         int max = 2147483647;
         int min = -2147483648;
         System.out.println(reverseInt(0));
         System.out.println(reverseInt(1534236469));
         System.out.println(reverseInt(-2133847412));
     }
 }

输出:

0
0
-2147483312

Reverse Integer - 反转一个int,溢出时返回0的更多相关文章

  1. Reverse bits - 按位反转一个int型数字

    Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...

  2. &lbrack;Leetcode&rsqb; reverse integer 反转整数

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

  3. leetcode:Reverse Integer(一个整数反序输出)

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

  4. 【LeetCode每天一题】Reverse Integer&lpar;反转数字&rpar;

    Given a 32-bit signed integer, reverse digits of an integer. Example 1:                              ...

  5. 7&period; Reverse Integer 反转整数

    [抄题]: 将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数).   样例 给定 x = 123,返回 321 给定 x = -123,返回 -321 [暴力解法]: ...

  6. &lbrack;leetcode&rsqb;7&period; Reverse Integer反转整数

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

  7. 问题-&lbrack;Delphi&rsqb;用LoadLibrary加载DLL时返回0的错误

    问题现象:用LoadLibrary加载DLL一直返回0句柄,无法进行下一步操作,但同样的代码可以访问到别的DLL.问题处理:1.你加载的路径是不对的,一定要看好路径.2.你是在虚拟机中操作的DLL,因 ...

  8. leetcode 7 reverse integer 反转整数

    描述: 给定32位整数,反转,如321转成123. 解决: 关键是溢出检测: int reverse(int x) { ; int temp; while (x) { temp = ret * + x ...

  9. 写一个函数,实现两个字符串的比较。即实现strcmp函数,s1&equals;s2时返回0,s1&excl;&equals;s2时返回二者第一个不同字符的ASCII值。

    #include<stdio.h> #include<stdlib.h> int main(){ setvbuf(stdout,NULL,_IONBF,); ],s2[]; i ...

随机推荐

  1. Python namedtuple

    我们都知道Python中的tuple是一个非常高效的集合对象,但是我们只能通过索引的方式访问这个集合中的元素,比如下面的代码: Bob=('bob',30,'male') print'Represen ...

  2. Android利用V4包中的SwipeRefreshLayout实现上拉加载

    基本原理 上拉加载或者说滚动到底部时自动加载,都是通过判断是否滚动到了ListView或者其他View的底部,然后触发相应的操作,这里我们以 ListView来说明.因此我们需要在监听ListView ...

  3. EasyMock使用手记

    from:http://www.blogjava.net/supercrsky/articles/162766.html Mock 对象能够模拟领域对象的部分行为,并且能够检验运行结果是否和预期的一致 ...

  4. C&num; 调试程序弹出 没有可用于当前位置的源代码 对话框

    解决方案: 1.右键点击解决方案->属性->通用属性->调试源文件. 2.看看你的程序有没有被增加到“不查找这些源文件”这个框里. 3.如果有删除,然后重新编译即可调试,解决问题.

  5. TImage也有OnClick事件,可以当按钮使用,配上合适的图片(背景透明,效果前凸)更是几乎以假乱真

    本质上TImage与TSpeedButton没有什么区别,都是没有句柄的,但都可以执行OnClick事件.有空分析一下.

  6. 中文分词 sphni与scws

    1.安装sphnixcd /usr/local/srcwget http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gztar -zxvf ...

  7. Linux-2&period;6&period;25 TCPIP函数调用大致流程

    插口层系统调用send    sys_send        sys_sendtosendto    sys_sendto        sock_sendmsgsendmsg    sys_send ...

  8. markdown中如何插入公式

    转自 :https://www.tuicool.com/articles/qqIrUbN 我是如何在Markdown文档里插入公式的 时间 2016-08-07 21:05:33 异步社区 原文  h ...

  9. V8引擎的垃圾回收策略

    V8 的垃圾回收策略主要基于分代式垃圾回收机制.所谓分代式,就是将内存空间分为新生代和老生代两种,然后采用不同的回收算法进行回收. 新生代空间 新生代空间中的对象为存活时间较短的对象,大多数的对象被分 ...

  10. 图像处理之Retinex增强算法&lpar;SSR、MSR、MSRCR&rpar;

    视网膜-大脑皮层(Retinex)理论认为世界是无色的,人眼看到的世界是光与物质相互作用的结果,也就是说,映射到人眼中的图像和光的长波(R).中波(G).短波(B)以及物体的反射性质有关 其中I是人眼 ...