写点什么

LeetCode 题解:7. 整数反转,迭代,JavaScript,详细注释

作者:Lee Chen
  • 2023-09-07
    福建
  • 本文字数:494 字

    阅读完需:约 2 分钟

原题链接:https://leetcode.cn/problems/reverse-integer


解题思路:


  1. 使用result存储反转后结果,初始值为0

  2. 每次循环取出x的个位数curr,再将x向右移动一位。

  3. result向左移动一位,并将curr存入result的个位数。

  4. 不断循环直到x0,即可完成反转。

  5. x为负数时,正整数部分的反转结果与正数是一样的。因此可以将x都转为正整数处理,完成后再判断是否需要返回负数。


/** * @param {number} x * @return {number} */var reverse = function (x) {  let result = 0; // 储存结果  // 正负数除了符号以外,处理结果是一样的,因此都转换为正数处理  let pos = x > 0 ? x : Math.abs(x);
// 不断循环直到pos为0 while (pos !== 0) { // 取出pos的个位数字 const curr = pos % 10;
// 将result向左移动一位,将curr存入result的个位,完成一次反转 result = result * 10 + curr; // 将pos向右移动一位,并去除小数 pos = Math.floor(pos / 10);
// 如果移动后的结果大于2^31 − 1,则返回0 if (result > 0x7fffffff) { return 0; } }
// 判断x的正负,并返回相应结果 return x > 0 ? result : -result;};
复制代码


发布于: 刚刚阅读数: 6
用户头像

Lee Chen

关注

还未添加个人签名 2018-08-29 加入

还未添加个人简介

评论

发布
暂无评论
LeetCode题解:7. 整数反转,迭代,JavaScript,详细注释_JavaScript_Lee Chen_InfoQ写作社区