Skip to content

Commit a748783

Browse files
Create 7_reverse.ts
1 parent 6672f31 commit a748783

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

top 150/7_reverse.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
function reverse(x:number):number {
2+
let reversed:number = 0;
3+
const sign:number = x < 0 ? -1 : 1;
4+
x = Math.abs(x);
5+
while (x > 0) { //x=123; digit=0; x=12; digit=3; x=1; digit=32;
6+
const digit:number = x % 10;//123 //digit = 3; digit = 2; digit = 1%10 = 1;
7+
reversed = (reversed * 10) + digit; //(0) + 3; (3*10) + 2 = 32; (32*10) + 1 = 321
8+
x = Math.floor(x / 10); //123/10 = 12.3 => 12; 12/10 = 1.2 = 1; 1/10 = 0(floor) end
9+
}
10+
reversed *= sign;
11+
// reversed < -2147483648 || reversed > 2147483647
12+
if (reversed < Math.pow(-2, 31) || reversed > (Math.pow(2, 31) - 1)) {
13+
return 0;
14+
}
15+
return reversed;
16+
17+
}

0 commit comments

Comments
 (0)