Programming Languages war Python, PHP, Javascript (Nodejs) Reverse Integer

Hey my friends, a new post about this war. I don't know which is better, but I'll try to figure it out. I hope y'all enjoy this series. Here we go!
This is a challenge of leetcode.com I made this challenge with Python3, and next I made PHP and Javascript the same way.
Problem:
Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
Example 1:
Input: x = 123 Output: 321
I'm going to explain in each language, so, here we go!
Python
I turn from integer to string the number, the string to the dictionary, I had to validate if the number is negative.
Next I reverse the dictionary with the method "reverse", and I use the method "join" to turn the dictionary to string and I add the symbol plus the new string.
I turn the string to integer.
And the end, I validate if the number is an integer of 32 bits yet and return that.
class Solution:
def reverse(self, x: int):
x = str(x)
y = ''
symbol = ''
xdict = []
for xx in x:
if xx != '-':
xdict.append(xx)
else:
symbol = xx
xdict.reverse()
xdict = ''.join(xdict)
y = symbol + xdict
y = int(y)
if y > 2 ** 31 - 1 or y < -2 ** 31:
y = 0
return y
sol = Solution()
result = sol.reverse(123)
print(result)
PHP
I turn from integer to string the number, the string to the array, I had to validate if the number is negative.
Next I reverse the array with the method "array_reverse", and I use the method "implode" to turn the array to string and I add the symbol plus the new string.
I turn the string to integer.
And the end, I validate if the number is an integer of 32 bits yet and return that.
<?php
class Solution
{
public function reverse($x)
{
$x = (string) $x;
$x = str_split($x);
$y = '';
$symbol = '';
$xarray = [];
foreach ($x as $xx) {
if ($xx != '-') {
$xarray[] = $xx;
} else {
$symbol = $xx;
}
}
$xarray = array_reverse($xarray);
$xarray = implode($xarray);
$y = $symbol . $xarray;
$y = (integer) $y;
if ($y > 2 ** 31 - 1 || $y < -2 ** 31) {
$y = 0;
}
return $y;
}
}
$sol = new Solution();
$result = $sol->reverse(1534236469);
var_dump($result);
?>
Javascript
I turn from integer to string the number, the string to the array, I had to validate if the number is negative.
Next I reverse the array with the method "reverse", and I use the method "join" to turn the array to string and I add the symbol plus the new string.
I turn the string to integer.
And the end, I validate if the number is an integer of 32 bits yet and return that.
class Solution {
reverse(x) {
x = x.toString();
let y = '';
let symbol = '';
let xarray = [];
for (let i = 0; i < x.length; i++) {
if (x[i] !== '-') {
xarray.push(x[i]);
} else {
symbol = x[i];
}
}
xarray.reverse();
xarray = xarray.join('');
y = symbol + xarray;
y = parseInt(y);
if (y > 2 ** 31 - 1 || y < (-2) ** 31) {
y = 0;
}
return y;
}
}
const sol = new Solution();
const result = sol.reverse(123);
console.log(result);
Conclusion
- Structure: Each language has a little difference.
- Lines: Python: 23, PHP: 32, Javascript: 27
- Time to execution: Python: 32 ms, PHP: 8 ms, Javascript: 104 ms
- Memory Usage: Python: 14.1 MB, PHP: 15.5 MB, Javascript: 40.2 MB
Would you like that I write more challenges? What do you like more about challenges?
I hope you enjoy my post and remember that I am just a Dev like you!
About the author
I am a backend developer (PHP, Javascript, Laravel, Node ) , I know frontend (css, html, react, react-native) but it is not my passion, I have experience as a linux system administrator. I have deployed products in googlecloud, I have experience with integration and maintenance to mobile applications, in addition to working with database sql (mysql, postgresql) and nosql (mongodb)
Comments
Join the discussionNo comments yet. Be the first to comment.





