• LeetCode 7 Reverse Integer


    题目:

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

    Example 1:

    Input: 123
    Output: 321
    

    Example 2:

    Input: -123
    Output: -321
    

    Example 3:

    Input: 120
    Output: 21
    

    Note:
    Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231,  231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

    注意Note里的内容。反转前的范围为 [−231,  231 − 1],即 [-2147483648, 247483647],输入的值一定在这个范围内,但反转后可能超出这个范围,故需要用long保存结果,避免溢出得到错误结果,并判断反转后的值是否超出范围,超出则返回0。

    class Solution {
        public int reverse(int x) {
            long res = 0;
            while(x!=0)
            {
                res = res*10 + (x%10);
                x/=10;
            }
            if(res<Integer.MIN_VALUE||res>Integer.MAX_VALUE)
                return 0;
            return (int)res;
            
        }
    }

    PS:不需要对输入x的符号进行判断分别处理,因为java的取模得到的结果符号与被除数相同。

  • 相关阅读:
    微信小程序中的组件使用1
    小程序中的请求封装
    路由
    nodejs静态web服务
    跨端开发小程序
    非阻塞I/O事件驱动
    Node文件模块
    提炼游戏引擎系列:初步设计引擎
    提炼游戏引擎系列:开篇介绍
    发布HTML5 2D游戏引擎YEngine2D
  • 原文地址:https://www.cnblogs.com/trymorel/p/12521160.html
Copyright © 2020-2023  润新知