7.整数反转

题目描述:
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。

示例1:
输入:x = 123
输出:321

示例2:
输入:x = -123
输出:-321

示例3:
输入:x = 120
输出:21

示例4:
输入:x = 0
输出:0

提示:
-2^31 <= x <= 2^31 - 1

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer

思路:

  • 注意-123%10=-3
  • ~~符号的作用是去掉小数部分

代码:

var reverse = function(x) {
    let res = 0;
    while(x){
        res=res*10+x%10;
        if(res<Math.pow(-2,31)||res>Math.pow(2,31)-1)
            return 0;
        x=~~(x/10);
    }
    return res;
};

执行结果:

image.png

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容