前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >力扣刷题-02-简-整数翻转

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

作者头像
我乃小神神
发布2020-12-01 10:31:25
3650
发布2020-12-01 10:31:25
举报
文章被收录于专栏:前端基础前端基础
代码语言:javascript
复制
<!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, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 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>
我乃小神神-整数翻转
我乃小神神-整数翻转
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档