力扣刷题-02-简-整数翻转

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>力扣刷题-02--整数翻转</title>
	</head>
	<body>
		<p>
			给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转

		</p>
		<p>
			输入: 123
			输出: 321
			<br />
			输入: -123
			输出: -321
			<br />
			输入: 120
			输出: 21
		</p>
		<p>
			假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [231, 2311]。请根据这个假设,如果反转后整数溢出那么就返回 0</p>
	</body>
	<script>
		/**
		 *  Math.abs( x )  取绝对值
		 *  Math.pow(x,y)  返回 x 的 y 次幂。
		 *  w3c Math 方法详解  https://www.w3school.com.cn/js/jsref_obj_math.asp
		 */
		// let num1=Math.pow(-2,31)=-2147483648
		// let num2=Math.pow(2,31)=2147483648
		/**
		 *  整数反转:第一种解法 
		 *  字符串直接判断
		 */
		let data = -21474836480
		let reverse = function(data) {
			let str = Math.abs(data).toString().split('').reverse().join('')
			// 不存在负数的情况可以直接返回了,但是存在负数,其实范围判断
			//  不需要用Math.pow(-2,31) 去进行判断,因为str 是取的绝对值
			if (data < 0) {
				return str < Math.pow(2, 31) ? -str : 0
			} else {
				return str < Math.pow(2, 31) ? str : 0
			}
		}
		console.log('第一种解法:' + reverse(data))
	</script>
</html>

我乃小神神-整数翻转

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值