Skip to content

Commit 6461379

Browse files
committed
a few more answers
1 parent 5dbdfaa commit 6461379

File tree

4 files changed

+66
-0
lines changed

4 files changed

+66
-0
lines changed

numberToRoman.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
let thousands = ["", "M","MM","MMM", "MMM"]
2+
let hundreds = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"]
3+
let tens = ["","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"]
4+
let ones = ["","I","II","III","IV","V","VI","VII","VIII","IX"]
5+
6+
function intToRoman(num) {
7+
let thousand = Math.floor(num / 1000)
8+
let hundred = Math.floor(num / 100 % 10)
9+
let ten = Math.floor(num / 10 % 10)
10+
let one = Math.floor(num / 1 % 10)
11+
return thousands[thousand] + hundreds[hundred] + tens[ten] + ones[one]
12+
}

palindromeNumber.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @param {number} x
3+
* @return {boolean}
4+
*/
5+
var isPalindrome = function(x) {
6+
if (x < 0) {
7+
return false
8+
}
9+
10+
return x.toString(10).split("").reverse().join("") === x.toString(10)
11+
};

reverse-2.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number} x
3+
* @return {number}
4+
*/
5+
var reverse = function(x) {
6+
let isNegative = x < 0 ? -1 : 1, s, result = []
7+
if (isNegative === -1){
8+
x *= -1
9+
}
10+
s = x.toString(10).split("")
11+
12+
while(s.length){
13+
result.push(s.pop())
14+
}
15+
let value = parseInt(result.join(""),10)
16+
if (Math.abs(value) >= Math.pow(2,31)-1){
17+
return 0
18+
}
19+
20+
return isNegative * value
21+
};

reverse.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* @param {number} x
3+
* @return {number}
4+
*/
5+
var reverse = function(x) {
6+
let isNegative = x < 0;
7+
8+
let value = (x.toString().split("").reverse());
9+
10+
if (isNegative) {
11+
value.unshift(value.pop())
12+
}
13+
14+
value = value.join("");
15+
16+
if (Math.abs(value) >= Math.pow(2,31) - 1) {
17+
return 0;
18+
}
19+
20+
return value
21+
};
22+

0 commit comments

Comments
 (0)