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. [Leetcode] 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(反转数字)

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

  5. 7. Reverse Integer 反转整数

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

  6. [leetcode]7. Reverse Integer反转整数

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

  7. 问题-[Delphi]用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=s2时返回0,s1!=s2时返回二者第一个不同字符的ASCII值。

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

随机推荐

  1. C++如何入门

    去 Visual Studiohttps://www.visualstudio.com/zh-hans/?rr=https%3A%2F%2Flink.zhihu.com%2F%3Ftarget%3Dh ...

  2. nodeJS之TCP模块net

    前面的话 TCP服务在网络应用中十分常见,目前大多数的应用都是基于TCP搭建而成的.net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法.本文将详细介绍nodeJS ...

  3. Python os.walk的用法与举例

    os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元tupple(dirpath, dirnames, filena ...

  4. angularJS ng-change错误的解决方案

    导入文件:<script src="../../js/angular/angular-file-upload/angular-file-upload.js"></ ...

  5. java环境变量最佳配置

    1.打开我的电脑--属性--高级--环境变量  2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7. ...

  6. 玩转nodeJS系列:使用cluster创建nodejs单机多核集群(多进程)

    前言: nodejs提供了cluster集群(支持端口共享的多进程),cluster基于child_process,process二次封装,方便我们使用该功能实现单机nodejs的web集群. 1.c ...

  7. cookie 与 session

    cookie简介 Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据.一般情况下,Cookie通过HTTP headers从服务端返回到客户端.多数web程序都支持Co ...

  8. C/C++输入两个任意日期求相隔天数

    将两个日期转换成与一个指定日期(例1970-01-01)之间的差然后计算 思路: 两个日期相隔天数的计算,首先可以将两个日期转换成time_t(从指定日期至1970年1月1日0时0分0秒相隔的秒数), ...

  9. html之改变图片透明度而不改变文字的透明度--两种方法实现

    图片与图片上的文字设置不同的透明度的两种方法: 第一种方法:背景图+定位+background: url(timg.jpg)no-repeat; <!DOCTYPE html> <h ...

  10. php隔行换色输出表格

    <?php header("Content-type:text/html;charset=utf-8"); $str=''; $str.='<table border= ...