2.2 Leetcode 练习——整数反转 第一题 使用 JavaScript 语言

Leetcode 练习 2.1

整数反转 第一题

题目:

给你一个 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


以下是相关解答,仅使用 JavaScript 语言


解题思路1

将 x 从 Number 对象转成 String 对象,用 String 对象的方法 split 将 String 分割成 Array ,然后用 Array 对象的 reverse 方法进行翻转,再用 Array 对象的 join 方法将 Array 转成 String,最后用 parseInt 将 String 变回 Number。

因为分割成字符数组的原因,最后一步处理的 String 在 x<0 时会失去结尾的负号,所以 x<0 时结果加负号。

最后 return 时用三目进行判断,以满足题目要求。

代码
/**
 * @param {number} x
 * @return {number}
 */
var reverse = function (x) {
    let y = parseInt(x.toString().split("").reverse().join(""));
    if (x < 0)
        y = - y;
    return y > 2147483647 || y < -2147483648 ? 0 : y;
};
代码运行结果

在这里插入图片描述
在这里插入图片描述

关于解法1中的代码进行分析
1号代码块
let y = parseInt(x.toString().split("").reverse().join(""));

关于这里面的东西,现在还不明白,以后再补充



2号代码块
if (x < 0)
	y = - y;
return y > 2147483647 || y < -2147483648 ? 0 : y;


解题思路2

在这里插入图片描述

代码
/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {

    let result = 0;
    while(x !== 0) {
        result = result * 10 + x % 10;
        x = (x / 10) | 0;
    }
    return (result | 0) === result ? result : 0;
};
// 该按空格的时候还是按吧,不然leetcode上面老是报错,一看才发现是因为没有按空格
代码运行结果

在这里插入图片描述

在这里插入图片描述

关于解法2中的代码进行分析
1号代码块
result = result * 10 + x % 10;
x = (x / 10) | 0; 

JavaScript 字面量

在编程语言中,一般固定值称为字面量,如 3.14

  • 数字(Number)字面量 可以是整数或者小数,或者是科学计数(e)。
  • 字符串(String)字面量 可以使用单引号或者双引号
  • 表达式字面量 用于计算,如 5+6 、5*10
  • 数组(Array)字面量 定义一个数组: [40,100,1,5,25,10]
  • 对象(Object)字面量 定义一个对象: {firstName:“John”, lastName:“Doe”, age:50, eyeColor:“blue”}
  • 函数(Function)字面量 定义一个函数: function myFunction(a,b){ return a*b;}

JavaScript 变量

在编程语言中,变量用于存储数据值。
JavaScript 使用关键字 var 来定义变量,使用等号来为变量赋值

var x, length
x = 5
length = 6

变量可以通过变量名访问。在指令式语言中,变量通常式可变得。字面量是一个恒定的值。

变量是一个名称, 字面量是一个


JavaScript 操作符

JavaScript 使用算术运算符来计算值
JavaScript 使用赋值运算符给变量赋值
在这里插入图片描述
在HTML中, JavaScript 语句向浏览器发出命令。语句是用分号分隔的。


JavaScript 关键字

JavaScript 关键字用于标识要执行的操作。

和其他任何编程语言一样,JavaScript 保留了一些关键字为自己所用。

var 关键字告诉浏览器创建一个新的变量: var x = 5+6; var y = x*10;
在这里插入图片描述
在 JavaScript 对于大小写是敏感的
函数 getElementByld 与 getElementbyID 是不同的
同样的,变量 myVariable 与 MyVariable 也是不同的


JavaScript 数据类型

在这里插入图片描述



2号代码块
while(x !== 0){
	result = result * 10 + x % 10;
	x = (x / 10) | 0; 
}
return (result | 0) === result ? result : 0;

在这里插入图片描述


PS:以上是本人关于Leetcode的学习笔记,主要目的是想通过做题将知识点进行回顾整合,本人学渣,如有不对的地方,敬请赐教,欢迎在评论区下留言指正 ^ _ ^

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值