Skip to content

Commit dede646

Browse files
committed
Delete 0007 Solution2.js, Update 0007 Solution.js, Organize Document structure
1 parent 6232ee2 commit dede646

File tree

2 files changed

+37
-67
lines changed

2 files changed

+37
-67
lines changed

solution/0007.Reverse Integer/Solution.js

+37-37
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,50 @@
22
* @param {number} x
33
* @return {number}
44
*/
5-
const reverse1 = function(x){
6-
let s = String(x);
7-
let isNegative = false;
8-
if(s[0] === '-'){
9-
isNegative = true;
10-
}
11-
s = parseInt(s.split('').reverse().join(''));
12-
return isNegative ? (s > Math.pow(2,31) ? 0 : -s) : (s > Math.pow(2,31) - 1 ? 0 : s);
13-
}
145

15-
const reverse = function(x){
16-
let result = parseInt(x.toString().split('').reverse().join(''));
17-
if(result > Math.pow(2,31) - 1 || -result < Math.pow(-2,31)) return 0;
18-
return x > 0 ? result: -result;
19-
}
20-
/**
21-
* author:mcn date:2018/10/25
6+
/**
7+
* Author: mcnwork2018
228
*/
239

24-
/**
25-
* First Way:将数字转化为字符串的处理
26-
*/
2710
var reverse = function(x) {
28-
const min = -Math.pow(2,31),max = Math.pow(2,31) - 1;
29-
let sign = 1;
30-
if(x < 0){
31-
sign = -sign;
32-
x = sign * x;
11+
let min = -Math.pow(2,31), max = Math.pow(2,31) - 1;
12+
let rev = 0;
13+
while (x != 0) {
14+
let pop = x % 10;
15+
x = (x - pop) / 10;
16+
if (rev > max / 10 || (rev == max / 10 && pop > 7)) return 0;
17+
if (rev < min / 10 || (rev == min / 10 && pop < -8)) return 0;
18+
rev = rev * 10 + pop;
3319
}
34-
let a = x.toString();
35-
let len = a.length,b='';
36-
for(let i = len - 1;i >= 0;i--)b += a[i];
37-
b = sign * Number(b);
38-
if(b > max || b < min) return 0;
39-
return b;
20+
return rev;
4021
};
22+
4123
/**
42-
* Second Way: 弹出和推入数字
24+
* Author: rookie
4325
*/
44-
let reverse = function(x) {
45-
let res = 0;
46-
while (x !== 0) {
47-
res = res * 10 + x % 10;
48-
x = x < 0 ? Math.ceil(x / 10) : Math.floor(x / 10);
26+
27+
var reverse = function (x) {
28+
const s = x + ""
29+
let i = 0
30+
let sign = 1
31+
if (s[i] == "-") {
32+
i++
33+
sign = -1
34+
}
35+
if (s[i] == "+") {
36+
i++
37+
}
38+
let num = 0
39+
for (let j = s.length - 1; j >= i; j--) {
40+
num = num * 10 + parseInt(s[j])
41+
}
42+
num *= sign
43+
let max = 2
44+
for (let n = 0; n < 30; n++) {
45+
max *= 2
46+
}
47+
if (num > max || num < -max) {
48+
return 0
4949
}
50-
return res < -(2**31) || res > 2**31 - 1 ? 0 : res;
50+
return num
5151
};

solution/0007.Reverse Integer/Solution2.js

-30
This file was deleted.

0 commit comments

Comments
 (0)