zoukankan      html  css  js  c++  java
  • 基础算法:整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    注意:

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

    Integer.MAX_VALUE:  21474836487

    Integer.MIN_VALUE: -2147483648

     1 class Solution {
     2     public int reverse(int x) {
     3         int revNum = 0;
     4         while(x != 0) {
     5             int remainder = x % 10;
     6             x = x /10;
     7             if (revNum > Integer.MAX_VALUE / 10 || revNum == Integer.MAX_VALUE / 10 && remainder > 7) {
     8                 return 0;
     9             }
    10             if (revNum < Integer.MIN_VALUE / 10 || revNum == Integer.MIN_VALUE / 10 && remainder < -8) {
    11                 return 0;
    12             }
    13             revNum = revNum * 10 + remainder;
    14         }
    15         return revNum;
    16     }
    17 }
  • 相关阅读:
    视频像素点级的标注
    unet
    Emmet缩写语法
    Nginx漏洞利用与安全加固
    算法时间复杂度
    动态规划dp
    数据结构Java实现04---树及其相关操作
    关于递归
    Java正则表达式
    Java String相关
  • 原文地址:https://www.cnblogs.com/wangyinqia/p/12958166.html
Copyright © 2011-2022 走看看