算法(TS):整数反转

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

示例 1:

输入:x = 123

输出:321

示例 2:

输入:x = -123

输出:-321

示例 3:

输入:x = 120

输出:21

示例 4:

输入:x = 0

输出:0

提示:

  • -231 <= x <= 231 - 1

解答一

将 x 转成字符串,再反转字符串

ini 复制代码
function reverse(x: number): number {
    const s = (x + '').split('')
    let low = s[0] === '-' ? 1 : 0
    let high = s.length - 1

    while(low < high) {
        const temp = s[low]
        s[low] = s[high]
        s[high] = temp
        low ++
        high --
    }
    const num = Number(s.join(''))
    if (num > Math.pow(2,31) || num < Math.pow(-2,31)-1) {
        return 0
    }
    return num
};

解答二

关键公式 result = result * 10 + x % 10,x = x / 10

sql 复制代码
function reverse(x: number): number {
    let result = 0
    while(x !== 0) {
        result = result * 10 + x % 10
        x = x > 0 ? Math.floor(x / 10) : Math.ceil(x / 10)
    }

    if (result > Math.pow(2,31) || result < Math.pow(-2,31)-1) {
        return 0
    }

    return result
};
相关推荐
凯瑟琳.奥古斯特13 小时前
力扣1235:加权区间调度最优解
java·python·算法·leetcode·职场和发展
耶叶13 小时前
餐厅出入最少人数问题:贪心算法
算法·贪心算法
gihigo199813 小时前
基于小波框架与稀疏表示的SAR图像目标识别系统(MATLAB实现)
算法
吴可可12314 小时前
CAD2004自定义实体开发环境配置
c++·算法
装不满的克莱因瓶14 小时前
矩阵的主成分是什么?主成分分析(PCA)又能做什么?
人工智能·线性代数·算法·机器学习·ai·矩阵·pca
大菜菜小个子14 小时前
template<typename T>使用
java·开发语言·算法
Fanfanaas14 小时前
C++ 继承
java·开发语言·jvm·c++·学习·算法
lqqjuly14 小时前
模型合并与融合:理论、算法与可运行实现—从损失曲面几何到多模型融合
算法
memcpy014 小时前
LeetCode 2144. 打折购买糖果的最小开销【贪心】
算法·leetcode·职场和发展
散峰而望15 小时前
【算法练习】算法练习精选:陶陶摘苹果(基础+升级)、Music Notes、字串变换,你能AC几道?
数据结构·c++·算法·leetcode·贪心算法·github·动态规划