前言
Leetcode 算法题是一个全新的文章系列,该系列将会抽选 Leetcode 上题目记录解题思路以及总结等
tips: 为节省文章篇幅,题目描述以及相关示例本系列文章中不再额外赘述,可以对照题目原链接查看
本篇为 Leetcode 第 7 题-整数反转,题目链接:整数反转
题解
- 题目描述很清晰,给到一个数字,将该数字进行反转后的值返回即可
- 需要注意两个点:1. 保留数字符号 2. 依题意判断是否越界
- 转字符串反转
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
var reverse = function (x) { const flag = x > 0 ? 1 : -1
const res = String(Math.abs(x)).split('').reverse().join('')
return res > Math.pow(2, 31) - 1 || res < Math.pow(-2, 31) ? 0 : flag * res }
|
复杂度分析:
- 模 10 取余,反转数字
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
var reverse = function (x) { var reverse = function (x) { let res = 0 while (x !== 0) { res = res * 10 + (x % 10) x = Math.trunc(x / 10) } return res > Math.pow(2, 31) - 1 || res < Math.pow(-2, 31) ? 0 : res } }
|
复杂度分析: