1process.stdin.resume(); 2process.stdin.setEncoding('utf-8'); 3let input = ''; 4process.stdin.on('data', (data) => { 5 input += data; 6}); 7process.stdin.on('end', () => { 8 let inputArray = input.trim().split('\n'); 9 let x = parseInt(inputArray[0], 10); 10 11 function reverseInteger(x) { 12 let isNegative = x < 0; 13 x = Math.abs(x); 14 let reversed = 0; 15 16 while (x > 0) { 17 let digit = x % 10; 18 19 // Check if reversed integer will overflow before actually adding the digit 20 if (reversed > Math.pow(2, 31) / 10 || (reversed === Math.pow(2, 31) / 10 && digit > 7)) { 21 return 0; 22 } 23 if (reversed < -Math.pow(2, 31) / 10 || (reversed === -Math.pow(2, 31) / 10 && digit < -8)) { 24 return 0; 25 } 26 27 reversed = reversed * 10 + digit; 28 x = Math.floor(x / 10); 29 } 30 31 return isNegative ? -reversed : reversed; 32 } 33 34 let result = reverseInteger(x); 35 console.log(result); 36 process.exit(); 37});
Copyright ©2010-2022 比特日记 All Rights Reserved.
Powered By 可尔物语