searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

整数反转-算法学习

2023-07-13 06:05:59
3
0

题目详情:
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

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

解题思路:

使用循环将给定整数 x 的数字部分进行反转。首先定义一个变量 result 来存储反转后的结果,初始值为 0。

然后不断取 x 的个位数字,并将其添加到 result 中。具体做法是,每次循环通过取余操作 x % 10 获取 x 的个位数字,并将其加到 result 中。同时需要更新 x,将已经处理过的个位数字去除,即通过整除操作 Math.trunc(x / 10)

在每次循环中都判断反转后的整数 result 是否超出了有符号 32 位整数的范围。如果是,则直接返回 0。

最后,函数返回反转后的结果 result


代码实现:

function reverse(x) {
    let result = 0;
    while (x !== 0) {
        // 取出 x 的个位数字
        const digit = x % 10;
        // 将个位数字添加到结果中
        result = result * 10 + digit;

        // 判断反转后的整数是否超出范围
        if (result < Math.pow(-2, 31) || result > Math.pow(2, 31) - 1) {
            return 0;
        }

        // 更新 x,去除已经处理的个位数字
        x = Math.trunc(x / 10);
    }

    return result;
}

// 示例输入
const x = 123;

// 调用函数获取反转后的结果
const result = reverse(x);

// 输出结果
console.log(result);
0条评论
作者已关闭评论
t****m
98文章数
1粉丝数
t****m
98 文章 | 1 粉丝
t****m
98文章数
1粉丝数
t****m
98 文章 | 1 粉丝
原创

整数反转-算法学习

2023-07-13 06:05:59
3
0

题目详情:
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

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

解题思路:

使用循环将给定整数 x 的数字部分进行反转。首先定义一个变量 result 来存储反转后的结果,初始值为 0。

然后不断取 x 的个位数字,并将其添加到 result 中。具体做法是,每次循环通过取余操作 x % 10 获取 x 的个位数字,并将其加到 result 中。同时需要更新 x,将已经处理过的个位数字去除,即通过整除操作 Math.trunc(x / 10)

在每次循环中都判断反转后的整数 result 是否超出了有符号 32 位整数的范围。如果是,则直接返回 0。

最后,函数返回反转后的结果 result


代码实现:

function reverse(x) {
    let result = 0;
    while (x !== 0) {
        // 取出 x 的个位数字
        const digit = x % 10;
        // 将个位数字添加到结果中
        result = result * 10 + digit;

        // 判断反转后的整数是否超出范围
        if (result < Math.pow(-2, 31) || result > Math.pow(2, 31) - 1) {
            return 0;
        }

        // 更新 x,去除已经处理的个位数字
        x = Math.trunc(x / 10);
    }

    return result;
}

// 示例输入
const x = 123;

// 调用函数获取反转后的结果
const result = reverse(x);

// 输出结果
console.log(result);
文章来自个人专栏
js
57 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0