Skip to content

Commit cde58a8

Browse files
committed
✨ [q7] Too easy - Runtime 68 ms Beats 73.85% Memory 44.2 MB Beats 30.76%
1 parent 4efeca9 commit cde58a8

File tree

2 files changed

+33
-20
lines changed

2 files changed

+33
-20
lines changed

7/my_solution.js

+20-15
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,29 @@
44
*/
55
const reverse = (x) => {
66
let charList = x.toString().split(''), result = null;
7-
// charList.forEach((char, i) => {
8-
// console.log("char")
9-
// console.log(char)
10-
// console.log(i)
11-
// console.log("parseInt(char[i]) * i")
12-
// console.log(parseInt(char[i]) * i)
13-
// result += parseInt(char[i]) * i;
14-
// i *= 10;
15-
// })
16-
17-
result = reverseCharList(charList, 0, 1, null);
7+
console.log(x);
8+
// console.log(x >>> 0);
9+
console.log((2 ** 31) - 1);
10+
11+
result = reverseCharList(charList, 0, 1, null, false);
1812

1913
console.log("result")
2014
console.log(result)
2115
};
2216

23-
const reverseCharList = (charList, i, factor, result) => {
24-
if (undefined === charList[i]) return result;
17+
const reverseCharList = (charList, i, factor, result, isNeg) => {
18+
if (undefined === charList[i]) {
19+
if ((2 ** 31) <= result) return 0;
20+
21+
return isNeg ? result * -1 : result;
22+
}
2523
console.log("charList[i]")
2624
console.log(charList[i])
25+
if ("-" === charList[i]) {
26+
isNeg = true;
27+
i++;
28+
return reverseCharList(charList, i, factor, result, isNeg);
29+
}
2730

2831
result += (parseInt(charList[i]) * factor);
2932
factor *= 10;
@@ -33,9 +36,11 @@ const reverseCharList = (charList, i, factor, result) => {
3336
console.log(factor)
3437

3538
i++;
36-
return reverseCharList(charList, i, factor, result);
39+
return reverseCharList(charList, i, factor, result, isNeg);
3740
}
3841

3942

4043
// reverse(321)
41-
reverse(120)
44+
// reverse(120)
45+
// reverse(-123)
46+
reverse(1534236469)

7/solution.js

+13-5
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,24 @@
33
* @return {number}
44
*/
55
const reverse = (x) => {
6-
return reverseCharList(x.toString().split(''), 0, 1, null);
6+
return reverseCharList(x.toString().split(''), 0, 1, null, false);
77
};
88

9-
const reverseCharList = (charList, i, factor, result) => {
10-
if (undefined === charList[i]) return result;
9+
const reverseCharList = (charList, i, factor, result, isNeg) => {
10+
if (undefined === charList[i]) {
11+
if ((2 ** 31) <= result) return 0;
12+
return isNeg ? result * -1 : result;
13+
}
14+
15+
if ("-" === charList[i]) {
16+
isNeg = true;
17+
i++;
18+
return reverseCharList(charList, i, factor, result, isNeg);
19+
}
1120

1221
result += (parseInt(charList[i]) * factor);
1322
factor *= 10;
1423
i++;
1524

16-
return reverseCharList(charList, i, factor, result);
25+
return reverseCharList(charList, i, factor, result, isNeg);
1726
}
18-

0 commit comments

Comments
 (0)