整数反转

整数反转

 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});
process.stdin.resume(); process.stdin.setEncoding('utf-8'); let input = ''; process.stdin.on('data', (data) => { input += data; }); process.stdin.on('end', () => { let inputArray = input.trim().split('\n'); let x = parseInt(inputArray[0], 10); function reverseInteger(x) { let isNegative = x < 0; x = Math.abs(x); let reversed = 0; while (x > 0) { let digit = x % 10; // Check if reversed integer will overflow before actually adding the digit if (reversed > Math.pow(2, 31) / 10 || (reversed === Math.pow(2, 31) / 10 && digit > 7)) { return 0; } if (reversed < -Math.pow(2, 31) / 10 || (reversed === -Math.pow(2, 31) / 10 && digit < -8)) { return 0; } reversed = reversed * 10 + digit; x = Math.floor(x / 10); } return isNegative ? -reversed : reversed; } let result = reverseInteger(x); console.log(result); process.exit(); });

Powered By 可尔物语

浙ICP备11005866号-12