4
4
*/
5
5
const reverse = ( x ) => {
6
6
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 ) ;
18
12
19
13
console . log ( "result" )
20
14
console . log ( result )
21
15
} ;
22
16
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
+ }
25
23
console . log ( "charList[i]" )
26
24
console . log ( charList [ i ] )
25
+ if ( "-" === charList [ i ] ) {
26
+ isNeg = true ;
27
+ i ++ ;
28
+ return reverseCharList ( charList , i , factor , result , isNeg ) ;
29
+ }
27
30
28
31
result += ( parseInt ( charList [ i ] ) * factor ) ;
29
32
factor *= 10 ;
@@ -33,9 +36,11 @@ const reverseCharList = (charList, i, factor, result) => {
33
36
console . log ( factor )
34
37
35
38
i ++ ;
36
- return reverseCharList ( charList , i , factor , result ) ;
39
+ return reverseCharList ( charList , i , factor , result , isNeg ) ;
37
40
}
38
41
39
42
40
43
// reverse(321)
41
- reverse ( 120 )
44
+ // reverse(120)
45
+ // reverse(-123)
46
+ reverse ( 1534236469 )
0 commit comments