[nb] Sync
This commit is contained in:
		
							
								
								
									
										62
									
								
								exercises/reverse-integer/nodejs/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								exercises/reverse-integer/nodejs/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| /* | ||||
| Given a 32-bit signed integer, reverse digits of an integer. | ||||
|  | ||||
| Example 1: | ||||
|  | ||||
| Input: 123 | ||||
| Output: 321 | ||||
| Example 2: | ||||
|  | ||||
| Input: -123 | ||||
| Output: -321 | ||||
| Example 3: | ||||
|  | ||||
| Input: 120 | ||||
| Output: 21 | ||||
| Note: | ||||
| Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231,  231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows. | ||||
| */ | ||||
|  | ||||
| const { assert }  = require('../../util/js');  | ||||
|  | ||||
| /** | ||||
|  * @param {number} x | ||||
|  * @return {number} | ||||
|  */ | ||||
| const reverse = function(x) { | ||||
|   const MAX_INT = Math.pow(2,31) -1; | ||||
|   const MIN_INT = Math.pow(2,31)* -1; | ||||
|  | ||||
|   const X = x.toString(); | ||||
|    | ||||
|   const isNeg = X[0] === '-'; | ||||
|   let reverseIntegerString = X.split('').reverse().join(''); | ||||
|  | ||||
|   const reverseInteger = isNeg ? parseInt(reverseIntegerString) * -1 : parseInt(reverseIntegerString); | ||||
|  | ||||
|   return (reverseInteger >= MAX_INT || reverseInteger <= MIN_INT) ?  0 :  reverseInteger; | ||||
| }; | ||||
|  | ||||
| /* Test Case 1 | ||||
|  * Input:  123 | ||||
|  * Output: 321 | ||||
|  */ | ||||
| x = 123; | ||||
| sol = 321; | ||||
| assert(reverse(x) === sol, 'Output: 321'); | ||||
|  | ||||
| /* Test Case 2 | ||||
|  * Input: -123 | ||||
|  * Output: -321 | ||||
|  */ | ||||
| x = -123; | ||||
| sol = -321 | ||||
| assert(reverse(x) === sol, 'Output: -321'); | ||||
|  | ||||
| /* Test Case 3 | ||||
|  * Input: 120 | ||||
|  * Output: 21 | ||||
|  */ | ||||
| x = 120; | ||||
| sol = 21; | ||||
| assert(reverse(x) == sol, 'Output: 21'); | ||||
		Reference in New Issue
	
	Block a user